現在、私は 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);