目前我正在使用 Lucene 3.6,并且很难让 IndexWriters 工作。
API 文档建议:
IndexWriter writer = new IndexWriter(Directory, Analyzer);
(以及其他一些类似的构造函数)已被贬值,我应该使用类似的东西:
IndexWriter writer = new IndexWriter(Directory, Configuration);
但是 Eclipse 不会识别这个较新的构造函数(lucene-core3.6.jar 已添加到我的项目的构建路径中),如果我使用较旧的构造函数,我必须抑制警告(我不是特别想这样做- 当我使用这些旧方法在内存中建立索引时会引发异常)。
我已经清理了项目,但问题仍然存在。
编辑:我正在使用的代码:
Directory index = new RAMDirectory();
StandardAnalyzer analyzer = new StandardAnalyzer();
IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_36, analyzer);
IndexDeletionPolicy IndexDeletionPolicy = new KeepOnlyLastCommitDeletionPolicy();
MaxFieldLength fieldLength = new MaxFieldLength(256);
IndexWriter writer = new IndexWriter(index, analyzer, false, IndexDeletionPolicy, fieldLength);
//IndexWriter writer = new IndexWriter(index, config);
writer.setUseCompoundFile(false);