3

Lucene で、数値フィールドに対する「ファジー」クエリを作成したいと考えています。現在私が見つけたのは、数値フィールドを検索するためのNumericRangeQueryクラスだけでした。私が構築しているアプリケーションでは、ユーザーは一連のタイプと、特定のコレクションで発生させたいこのタイプのオブジェクトの量を指定する必要があります。たとえば、ユーザーは「スプーン 4 本、フォーク 13 本、ナイフ 1 本」を問い合わせる場合があります。

目的の金額と実際の金額の距離に基づいて各数値フィールドにスコアを付けるクエリが必要です。たとえば、スコア = (距離 + 1)^-1 は良い結果をもたらすはずです。これを行う簡単で効率的な方法はありますか?

4

1 に答える 1

1

ペイロードは、実際に必要なことを行う必要があります。各用語に任意のデータを添付し、検索中に取得して、スコアリング、マッチング、およびソートを行うことができます。

具体的には、PayloadNearQueryを見てください。

ただし、説明した例から、正確に何をする必要があるかについては少しあいまいです。たとえば、4、13、1 という数字は、スプーン、フォーク、ナイフのクエリのヒット数と関係がありますか? または、それらのカウントをインデックスに保存していますか?

于 2011-04-10T11:24:37.760 に答える