1

lucene.net を使用して、データベース内のレコードのインデックスを作成したいと考えています。レコードは複数の異なるテーブルに格納され、レコード テーブルを通じて結合されます。各テーブルに個別にインデックスを作成し、検索結果をコードで結び付ける方がよいでしょうか。それとも、データベースから出てくるレコードを結び付けて、すべてを 1 つのインデックスに配置する必要がありますか?

他の提案も同様に役立ちます。

4

2 に答える 2

2

各テーブルに対応する Lucene インデックスを作成する場合、1) 各インデックスに対して検索を実行し、2) 魔法のような方法で検索結果をマージする作業を行う必要があります。Lucene は、複数のフィールドを持つドキュメントを検索するように既に設定されており (MultiFieldQueryParser を参照)、統合された結果セットを提供します。

インデックスを作成した後で、単一のテーブルから取得したデータに基づいて検索するだけであると判断した場合でも、通常の QueryParser を使用して、ドキュメントの対応するフィールドのみを検索できます。

于 2008-11-05T19:34:36.670 に答える
1

Lucene はデータベース テーブルに関連付けられていないため、Lucene ドキュメントで必要な情報を選択します。結果のマージとランキングは、自分で行うよりも Lucene に任せたほうがよいでしょう。

于 2008-11-05T17:45:04.317 に答える