0

タグの数が多い人とタグの数が多い本があれば、その人に最適な本を見つけたい。

Elasticsearch で私が抱えている問題は、スコアリング メカニズムでは、1 つのタグを持つ本が多くのタグを持つ本よりも優先されるように見えることです。

book1.tags = ('good','short')
book2.tags = ('good', 'sci-fi', 'long')

検索タグとして「good」を使用して検索すると、book1 のスコアが高くなります。同様に、'good'、'short'、'sci-fi' を検索すると、book 1 も表示されます (これらが等しいと思われる場合)。「良い」タグだけが付いた別の本を持っていると、さらに悪いことになります。

これらのフィールドを追加して、カウントとしてスコアリングする方法はありますか? TF/DF などについて一日中読んでいます。基本的には TF が欲しいだけです。

Elasticsearch でこれを行う良い方法はありますか? これは基本的なケースのように思えます。つまり、2 つのタグ フィールドが重なっています。

これが私が実行している検索です:

{'query': {'match': {'tags': 'good'}}}
4

0 に答える 0