1

カスタム検索エンジンを備えた jsp Web アプリケーションがあります。

検索エンジンは、基本的に SQL Server データベースの「ドキュメント」テーブルの上に構築されています。

たとえば、各ドキュメント レコードには次の 3 つのフィールドがあります。

  • ドキュメント ID
  • '説明' (テキスト フィールド)
  • 「添付ファイル」、ファイル システム内の pdf ファイルのパス。

検索エンジンは実際に説明フィールドのキーワードを検索し、結果リストを HTML ページに返します。今、PDFファイルのコンテンツでもキーワードを検索したいです。

Lucene、Tika、Solr について調査していますが、これらのフレームワークを目的に使用する方法がわかりません。

考えられる解決策の 1 つは、Tika を使用して PDF コンテンツを抽出し、新しいドキュメント テーブル フィールドに格納して、このフィールドに SQL クエリを記述できるようにすることです。

より良い代替手段はありますか?Solr/Lucene のインデックス作成機能を、SQL ベースの検索エンジンの完全な代替としてではなく、統合として使用できますか?

ありがとう

4

1 に答える 1

3

Lucene は SQL データベースから完全に独立していると考えます。つまり、SQL/jdbc/その他の DB を使用して Lucene をクエリするのではなく、独自の API と独自のデータ ストアを使用します。

もちろん、Tika を使用して pdf の全文を抽出し、保存して、SQL DB が提供するものを何でも使用できます。全文検索能力。

Hibernate を使用している場合、Hibernate Searchは SQL ストアと Lucene の両方を統合する素晴らしい製品です。ただし、Hibernate/JPA の方法を使用する必要があるため、プロジェクトにとってはやり過ぎになる可能性があります。

于 2011-05-17T10:10:24.473 に答える