質問

ユースケースから始めます。価格が 500 ドルの製品を探しているとします。価格が多少高くても、少し安くても必ずしも気にしませんが、その価格帯の製品には全体的な関連性スコアが高くなってほしいと考えています。

Solrでこれを行う方法はありますか?私がこのサイトで見た関連性/MoreLikeThis ドキュメントには、特定の数値からの逸脱という概念がないようです。

関連する質問。これら 2 つのクエリを実現するために solr 検索の重み付けを変更できるようにしたいと考えています。

「同様の価格のカメラを見つけて」と「同様に注目されているカメラを見つける」

このハンドラーによく似たものを見ると、関連性の計算に使用されるアルゴリズムは、プログラマーに制御ノブを公開していないようです。たとえば、同様の価格のカメラの場合、関連性スコアを変更して、同じ価格帯のアイテムの関連性を高めながら、機能の重み付けを維持したいと考えています。同様の特徴がある場合、これは逆になります。I.E は「同様の機能を備えたカメラを見つけましたが、1 台が 4 万ドルもするのであれば、私が選択した価格の同様のカメラよりも関連性が低くなります。」 (もっと多くの機能があるはずですが、レンズ キャップにクロム スピナーが付いているだけかもしれません)。

役に立ちましたか?

解決

Solr Wiki には、その方法の例がいくつかあります。 範囲で検索する を使用して field:[a TO b] 構文。

これを並べ替えと組み合わせるとよいでしょう。を構築することもできます Solr 検索コンポーネント 価格帯の重みを指定したり、 リクエストハンドラ. 。私にとってはリクエスト ハンドラーの方が馴染みがありました。「qf」フィールドの例は次のとおりです。

<str name="qf">
    productname^1.0 price^2.0 brand^0.5
</str>

これをきっかけにしていただければ幸いです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top