全文検索エンジンをお勧めできますか?(できればオープンソース)
私は多くの(比較的短いですが)HTMLドキュメントのデータベースを持っています。ユーザーがC++デスクトップアプリケーションに1つ以上の検索語を入力して、このデータベースを検索できるようにしたいと思います。したがって、私は自分のアプリと統合するための高速全文検索ソリューションを探しています。理想的には、次のようにする必要があります。
the
、、などof
の一般的な単語をスキップしますand
。- ステミングをサポートします。つまり、検索すると、、、およびを
run
含むドキュメントも検索されます。runner
running
ran
- 新しいドキュメントがデータベースに追加されたときに、バックグラウンドでインデックスを更新できます。
- 検索語の提案を提供できる(Googleの提案など)
- 十分に文書化されたAPIを使用する
説明のために、データベースに2つのドキュメントしかないものとします。
ドキュメント1:
This is a test of text search.
ドキュメント2:
Testing is fun.
次の単語がインデックスに含まれている必要が ありfun
ます:、、、、、。ユーザーが検索ボックスに入力した場合、アプリケーションが提案できるようにします。(理想的には、アプリケーションは検索エンジンに、で始まる10個の最も一般的な検索語を照会できる必要があります)。を検索すると、両方のドキュメントが返されます。search
test
testing
text
t
test
testing
text
t
testing
その他のポイント:
- マルチユーザーサポートは必要ありません
- 複雑なクエリのサポートは必要ありません
- データベースはユーザーのコンピューター上にあるため、インデックス作成はローカルで実行する必要があります。
CまたはC++ベースのソリューションを提案できますか?(CLuceneとXapianを簡単に確認しましたが、どちらかが私のニーズに対応できるかどうかはわかりません。特に、検索ワードインデックスで提案機能をクエリする場合はそうです)。