Lucene を使用して Android で辞書アプリを作成しています。インデックス作成時と検索時に同じインスタンスを提供する必要がありStandardAnalyzer
ますか? それとも両方に新しいインスタンスを提供するだけでよいですか?
たとえば、インデックスを作成しようとしているときは、次のようにします。
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_36);
IndexWriter writer = new IndexWriter(directory,
new IndexWriterConfig(Version.LUCENE_36, analyzer));
そして、上位のドキュメントで検索語の最適なフラグメントを取得したら、次のようにします。
TokenStream ts = TokenSources.getAnyTokenStream(indexSearcher.getIndexReader(),
hits[i].doc, "definition", analyzer);
analyzer
または、すべての使用法をに置き換えることはできnew StandardAnalyzer(Version.LUCENE_36)
ますか? 私のインデックス作成と検索タスクは異なるクラスにあり、インスタンス間で渡すオブジェクトの最小数を維持したいので、私はこれを求めています。