Lucene.NETを使用した検索フィルター
-
05-07-2019 - |
質問
Lucene.Netを使用して、PDFとして保存されている書籍、記事などを検索するWebサイトを作成しています。たとえば、著者名に基づいて検索結果をフィルタリングできるようにする必要があります。これはLuceneだけで実行できますか?または、各ドキュメントのフィルターフィールドを保存するためにDBが必要ですか?
また、ドキュメントのインデックスを作成する最良の方法は何ですか?最初に約50のドキュメントを用意し、定期的に大量のドキュメントをインデックスに追加する必要があります。これにはWebフォームを使用することもできます。 DBを使用してドキュメントパスを保存する必要がありますか?
ありがとう。
解決
IMOを実行するために必要なもののリストは次のとおりです。
- PDFから生のテキストを抽出-この質問を参照してくださいこの目的のためのiTextSharp 。
- 各PDFドキュメントについて、複数のフィールド(作成者、タイトル、ドキュメントテキスト、検索対象など)を含むLucene.netドキュメントを作成します。また、ドキュメントごとに一意のidフィールドを持つことをお勧めします。元のPDFドキュメントへのパスを含むフィールドも保存することをお勧めします。
- すべてのドキュメントのインデックスを作成すると、フィールドで検索できるLuceneインデックスが作成されます。
- 手順2を繰り返して新しいドキュメントを追加できます。オフラインで行う方が簡単です-増分更新は困難です。
他のヒント
Luceneには、ノイズを除去して「ステミング」を実行できるいくつかの異なるアナライザーがあります。全文検索を行いたいときに便利ですが、PDF自体をどこかに保存する必要があります。 Lucene.Netはファイルシステム上にインデックスを作成します。作成するドキュメントに「パス」などのフィールドを追加できます。ドキュメントへのパス。
所属していません StackOverflow