2

完全一致と部分一致の両方をサポートするSOLRクエリがあります。クエリ用語には適切なブースト係数が追加されており、完全一致では部分一致と比較してブーストが高くなります。

ただし、部分一致内でも、ブースト係数を次のように定義する必要があります。

完全な単語を持つ部分一致は、単語の一部として表示される部分一致よりも優先されます。

例:ユーザーが文字列「AnnieHall」を検索した場合、「Tanner Hall」、「Hall Pass 」などの値を含むドキュメントは、「 Halloween」などの値と比較して重み(優先度)が高くなります。 、「「ハロウィンを救った犬」。すべて部分一致ですが、「タナーホール」と「ホールパス」では「ホール」が別語で表示されるため、スコアが高くなるはずです。

助けてください。

よろしく、

4

1 に答える 1

2

完全一致と部分一致の両方に一致できるため、クエリに ngram フィルターを使用していると想定しています。

その場合、常に 2 つのフィールドを持つことができます。

  • ブーストが高い非 Ngramed フィールド - テキスト
  • 通常のブーストを使用した NGramed フィールド - text_ngram

例えば ​​dismax の場合 -text^2 text_ngram部分一致よりも高いブーストを持つ完全な一致が得られます。
完全な一致がある場合は、部分的な一致もあるということを覚えておいてください。したがって、累積的なブーストになります。

于 2013-01-31T05:48:18.607 に答える