2011-12-20 12 views
1

私は各キーワードがフレーズ(単語の集まり)であり、私がクエリーを送信するときに、クエリー内のすべての可能なキーワードを照合したいと思うキーワードがいっぱいのデータベースを持っています。私はこれがいかに効果的に行われるのだろうと思っています。私が直面している問題は、クエリーからのキーワード検出

  • です。クエリには1つ以上のキーワードが含まれている可能性があります。
  • 一致が正確である必要はありません(一致している可能性があります)。

私はこのquestion and solutionを調べましたが、データベース内の各キーワードと比較できるフレーズを構成するために、どのように単語をグループ化できるかわかりません。 n個の単語を含むクエリに対して形成されるn(n + 1)/ 2フレーズが存在する可能性がある。したがって、最も簡単な解決策は、このフレーズのそれぞれをデータベースのすべてのキーワードと比較し、一致を見つけることです。 もっと良い解決策はありますか?これを行うための標準アルゴリズム/ライブラリはありますか?

答えて

1
  1. お気に入りの検索エンジンライブラリを使用してデータベースのインデックスを作成します。 Lucene
  2. クエリを実行し

検索エンジンのパッケージは、一般的にあいまい一致する多くのオプションを持っています。 Luceneにもspell checkerがあり、これは単語を類似の単語にマッピングすることができます。

関連する問題