14

部分的な用語を検索できるドキュメント検索エンジン(Xapian、Whoosh、Lucene、Solr、Sphinxなど)を探しています。

たとえば、「brit」という用語を検索する場合、検索エンジンは「britney」または「britain」のいずれかを含むドキュメント、または一般にrに一致する単語を含むドキュメントを返す必要があります。*brit*

正直なところ、ほとんどのエンジンがTF-IDF(用語頻度-逆ドキュメント頻度)または部分的な用語ではなく完全な用語に基づくその派生物を使用していることに気づきました。ドキュメント検索用のTF-IDF以外に、正常に実装された他の手法はありますか?

4

1 に答える 1

19

luceneを使用すると、これをいくつかの方法で実装できます。

1.)ワイルドカードクエリを使用できます*brit*(先頭のワイルドカードを許可するようにクエリパーサーを設定する必要があります)

2.)すべての用語のN-Gramsを含む追加のフィールドを作成できます。これにより、インデックスが大きくなりますが、多くの場合、高速になります(検索速度)。

3.)あいまい検索を使用して、クエリの入力ミスを処理できます。たとえば、誰かが入力britneiしたが、見つけたいと思ったbritney

ワイルドカードクエリとあいまい検索については、クエリ構文のドキュメントをご覧ください。

于 2011-04-27T22:09:28.370 に答える