我正在尝试使用Elasticsearch来查找两个标记集的重叠

时间:2015-06-30 22:12:43

标签: elasticsearch elasticsearch-dsl

鉴于一个人拥有多个标签和一本带有多个标签的书,我想为那个人找到最好的书。

我对弹性搜索的问题在于,使用评分机制,它看起来像一本书,其中一个标签优先于具有许多标签的书。

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

我搜索'good'作为我的搜索标签,我会得到更高的book1分数。 同样,搜索“好”,“短”,“科幻”也会给出第1册(我可能期望它们相等)。如果我有另一本只带有“好”标签的书,情况会更糟。

我是否可以通过某种方式添加这些字段,以便将其评分为计数?我整天都在读TF / DF等等。我基本上只想要TF。

在Elasticsearch中有一个很好的方法吗?这似乎是一个基本情况 - 即重叠两个标记字段。

这是我正在运行的搜索:

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

0 个答案:

没有答案