1

lucene で索引付けする多言語文書レコードがあります。つまり、各ドキュメント レコードは 1 つの言語ですが、異なる言語レコードが存在します。多言語クエリで検索できるように、それらを 1 つのインデックスに保持するつもりです。現在、ドキュメント レコードは次のような 1 つのデータ入力ファイルにあります。

<DOCID>1<\DOCID>
<LANGUAGE>CHINESE<\LANGUAGE>
<TEXT>中文内容<\TEXT>

<DOCID>2<\DOCID>
<LANGUAGE>ENGLISH<\LANGUAGE>
<TEXT>Some English text<\TEXT>

私の質問は: 1 つのインデックス ライターで同じフィールドに異なるアナライザーを使用する方法はありますか? または、ドキュメント レコードを異なる言語の 2 つの入力ドキュメントに分割して、異なるインデックス ライターを適用し、同じインデックスに追加する必要がありますか?

アドバイスありがとうございます!

4

1 に答える 1

1

IndexWriter.addDocumentを呼び出すときに、ドキュメントに使用するアナライザーを提供できます。

ただし、異なる言語のテキストを異なるフィールドに分割すると、おそらくより多くのメリットが得られます。これにより、間違った言語でのヒットが防止AnalyzerWrapperされ、正しい言語を検出した後に適切なアナライザーを割り当てるための を作成するだけで済みます。

于 2013-07-21T09:47:12.830 に答える