最近了解了下function score,按照官方的描述实践了一下,例如那个weight function,他是可以让调用方指定权重计算符合条件的加权,最后合并到总分,
可是发现一个现象,假设你设置weight为n 分,结果中filter命中的文档会得到n分,但是没有命中的也会得到1分,这个不科学呀,我也没有用constantscore, 而且我使用了filter作为查询条件,也是会有1分,原本应该是0分的(boost_mode为sum也应该最终得到0分才对)。
所以不明白是不是只要我使用了function score 查询了,我的文档就会保底得到1分?
可是发现一个现象,假设你设置weight为n 分,结果中filter命中的文档会得到n分,但是没有命中的也会得到1分,这个不科学呀,我也没有用constantscore, 而且我使用了filter作为查询条件,也是会有1分,原本应该是0分的(boost_mode为sum也应该最终得到0分才对)。
所以不明白是不是只要我使用了function score 查询了,我的文档就会保底得到1分?
2 个回复
kennywu76 - Wood
赞同来自:
hanxiaobei - 90后小白
赞同来自: