1

私は、データベースを検索し、ユーザーが入力した文字列に従って、関連性によって検索結果を並べ替えるプロジェクトに取り組んでいます。私の現在の検索はかなりまともだと思いますが、結果を関連性でソートするために書いたコンパレーターは私に面白い結果を与えています。何が関連性があると考えるべきかわかりません。これが情報検索の大きな分野であることは知っていますが、関連性によってオブジェクトを並べ替える検索の例をどこから見つければよいかわかりません。フィードバックをいただければ幸いです。

私の特定の問題についてもう少し背景を説明するために、ユーザーはWebサイトデータベースに文字列を入力します。この文字列には、マイナー分類やメジャー分類(XBox 360ゲームなど)などのさまざまなフィールドを持つオブジェクト(ストア内のアイテム)が格納されます。 major=video_gamesおよびminor=xbox360フィールドとその特定の名前で保存される場合があります)。検索で考慮する必要があると思う4つの主要なフィールドは、オブジェクトのタイプの特定の名前、メジャー、マイナー、およびジャンルです。

4

1 に答える 1

1

lucene / Solrを使用したくない場合は、いつでも距離メトリックを使用して、クエリとデータベースから取得した行の類似性を見つけることができます。スコアを取得したら、それらを並べ替えることができ、関連性によって並べ替えられたと見なされます。

これは、luceneの舞台裏で正確に行われていることです。マンハッタン距離、n次元空間内のポイントの距離など、単純な類似性メトリックを使用できます。詳細については、Luceneスコアリング式を探してください。

于 2012-01-20T22:58:57.730 に答える