ユーザーが検索して結果をクリックすると、この検索キーワードが DB に保存されます。得られるのは、各アイテムのキーワードのリストと、そのキーワードでアイテムがクリックされた回数です。
Solrスキーマには、複数値フィールド「キーワード」があります。すべてのアイテムのすべてのキーワードにそのクリック数を追加し、ブーストして、最もクリックされたアイテムがそのキーワードの結果の上部に表示されるようにするにはどうすればよいですか?
私は dismax を使用しています。今のところ、「apple」のクエリは次のようになります。
q=apple
qf=title^0.4 keywords:"apple"^0.5
bf=hits^0.4 rating^0.3
ご覧のとおり、「キーワード」でブーストしていますが、問題は、「リンゴ」でどのアイテムが最もクリックされたかがわからないことです。
最初のインデックスのインポート時に、すべてのキーワードにブースト パラメータを追加しようとしました。それは役に立たなかったし、私はアイデアがありません。