2012-05-08 6 views
0

私はluceneのさまざまな部分を理解していますが、使用方法はわかりましたが、残った問題が1つあります。 Luceneは私のオンラインショップで運営されていて、良い仕事をしています。今では、ユーザーが検索したいものを入力できる単一の検索フィールドで検索機能の検索結果を最適化したいと考えています。 以来、フレーズ検索やファジー検索のような検索手法を組み合わせています。問題は、私はいつも巨大な結果を得ることです。最高のヒット数でより小さな結果リストが欲しい。私があいまいになると、これを達成することができます。それから私は素晴らしい検索結果を得ましたが、ユーザが何か間違ったタイプを入力すると、結果は空です。Luceneの検索結果が最適でない

大きなスコアで小さな結果セットを取得し、ヒットが悪い場合はファジー検索と組み合わせるソリューションが必要ですか。

どうすればよいですか?どのようにすればいいですか? その状況に最適なソリューションは何ですか?

+0

スペルミスの原因を特定するためのクエリログはありますか? – sisve

答えて

0

1つの方法は、非ファジークエリを使用して最初に検索することです。その検索で妥当な数のヒットが返された場合は、完了です。

最初の検索で0ヒットが返された場合、それぞれの検索語が一度ファジー化された検索を組み合わせて再度検索してみてください。たとえば、 "ABC"がある場合は2番目の検索は "(A〜 AND B AND C)OR(A AND B AND C)OR(A AND B AND C〜)」と表示されます。導入された曖昧性を最小限に抑えながら、それぞれの検索語をあふれさせます。

この方法は試していませんが、2回目の検索でそれぞれの検索語句が一度削除される同様の方法を試してみましたので、索引にはない検索語を処理します。 "(A AND B )OR(A AND C)OR(B AND C)」と表示されます。

関連する問題