1

ユーザーが以前に結果をクリックした回数に基づいて、ユーザーごとにSolr検索結果の関連性を調整したいと思います。そのユーザーのために頻繁にヒットするアイテムは、検索結果の一番上に表示されます。

クエリの特定のドキュメントIDにカスタムブースト/標高を提供する方法はありますか?私は、数百の特定のドキュメントの順序で昇格することを考えています。クエリの残りの部分でこれらのドキュメントが見つからない場合、標高は効果がありません。

あるいは、これが不可能な場合、これを可能にする代替のインデックス作成アプローチを設定するための適切な方法は何ですか?スコアを保存するために、インデックスにユーザーごとにフィールドを追加できますか?私は1000人のユーザーのオーダーで考えています。このアプローチの主な欠点は、ドキュメントのインデックスを再作成する必要がある回数です(つまり、ユーザーがドキュメントを使用するたびに)。

4

1 に答える 1

1

ユーザーのクリックを保存する動的フィールドを設定できます。次に例を示します。

<dynamicField name="*_clicks" type="integer" indexed="true" stored="true"/>

クリックを user12322_clicks、user15000_clicks などのフィールドに保存します。

ブーストする方法については、この非常によく似た質問をご覧ください。

于 2010-06-08T01:33:57.810 に答える