2

全文検索エンジンをお勧めできますか?(できればオープンソース)

私は多くの(比較的短いですが)HTMLドキュメントのデータベースを持っています。ユーザーがC++デスクトップアプリケーションに1つ以上の検索語を入力して、このデータベースを検索できるようにしたいと思います。したがって、私は自分のアプリと統合するための高速全文検索ソリューションを探しています。理想的には、次のようにする必要があります。

  • the、、などofの一般的な単語をスキップしますand
  • ステミングをサポートします。つまり、検索すると、、、およびをrun含むドキュメントも検索されます。runnerrunningran
  • 新しいドキュメントがデータベースに追加されたときに、バックグラウンドでインデックスを更新できます。
  • 検索語の提案を提供できる(Googleの提案など)
  • 十分に文書化されたAPIを使用する

説明のために、データベースに2つのドキュメントしかないものとします。

ドキュメント1This is a test of text search.

ドキュメント2Testing is fun.

次の単語がインデックスに含まれている必要が ありfunます:、、、、、。ユーザーが検索ボックスに入力した場合、アプリケーションが提案できるようにします。(理想的には、アプリケーションは検索エンジンに、で始まる10個の最も一般的な検索語を照会できる必要があります)。を検索すると、両方のドキュメントが返されます。searchtesttestingtextttesttestingtextttesting

その他のポイント:

  • マルチユーザーサポートは必要ありません
  • 複雑なクエリのサポートは必要ありません
  • データベースはユーザーのコンピューター上にあるため、インデックス作成はローカルで実行する必要があります。

CまたはC++ベースのソリューションを提案できますか?(CLuceneXapianを簡単に確認しましたが、どちらかが私のニーズに対応できるかどうかはわかりません。特に、検索ワードインデックスで提案機能をクエリする場合はそうです)。

4

3 に答える 3

4

スフィンクスもチェック

于 2012-01-08T10:15:17.813 に答える
3

c/c++ には Clucene を、php には sphider を使用できます。どちらも無料ですが、セットアップと使用に時間がかかりますが、理解するのは難しくありません.

于 2010-06-13T11:21:32.340 に答える
2

私はdtSearchモジュールを非常にうまく使用しています。

それらにはdllがあり、アプリケーションで使用して、あらゆるものにインデックスを付け、要求した以上のことを実行できます。

注:無料ではありません。

あなたが無料のものを求めているのは問題ではないので、私は私の好意のものを書きます。dtSearchは私にインスピレーションを与え、自分の言語で探しているものが見つからなかったため、自分の言語であるEllinikaのインデクサーを自分のサイト用に作成しました。

あなたがあなたの言葉の提案を見つける必要があるだけなら、盗むためだけのいくつかのモジュールがあります、私はここから参照を得ていますhttp://tartarus.org/~martin/PorterStemmer/

たとえば、ms sqlのようなデータベースがあり、基本的なインデックス作成を行う準備ができていて、ある単語を検索しても何も見つからない場合は、この単語を自分で調べて、もう一度検索することができます...

于 2010-06-06T08:36:29.360 に答える