0

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

優れたスコアを持つ小さな結果セットを取得し、ヒットが悪い場合はあいまい検索と組み合わせるソリューションが必要ですか?!

私は何を考えなければなりませんか?どちらに行けばいいですか?その状況の最善の解決策は何ですか?

4

1 に答える 1

0

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

最初の検索で 0 件のヒットが返された場合は、個々の検索用語が 1 回あいまいになる検索を組み合わせて、もう一度検索してみてください。たとえば、「AB C」の場合、2 番目の検索は「(A~ AND B AND C) OR (A AND B~ AND C) OR (A AND B AND C~)". これにより、各検索語をあいまいにしながら、導入されるあいまいさを最小限に抑えることができます。

私はこの方法を試していませんが、2 回目の検索で各検索語を 1 回削除する同様の方法を試したので、インデックスにまったく含まれていない検索語を処理することに注意してください -- "(A AND B) OR (A AND C) OR (B AND C)".

于 2012-05-09T11:58:09.357 に答える