【发布时间】:2013-07-03 23:23:34
【问题描述】:
在 elasticsearch 中,文档的长度对搜索结果的最终得分非常重要。因此,如果我在一个只有一行长的字段中有一个匹配项,那么它的得分将远高于一个匹配项,比如说……一个包含 5 页文本的文档。 有没有办法覆盖这种行为,或者可靠地反复提升结果来克服这种行为?
【问题讨论】:
-
发布我的答案后重新阅读问题...您要禁用考虑长度的事实还是更重视更长的匹配字段?实际上,在计算分数时,它与匹配字段的长度有关,而不是与整个文档的大小有关。
-
两者都需要不同的方法吗?如果是这样,方法有什么区别?
-
不同之处在于,如果禁用规范,则不再考虑长度,因此长字段将与短字段相同。如果您想更加重视不那么简单的长字段,可以使用 custom_score 查询和脚本来实现。
标签: elasticsearch