Elasticsearch得分基于数字离查询的接近程度
我想根据数字与查询的接近程度对文档进行评分。由于我有两个文件document1.field = 1
和document2.field = 10
,查询
field = 3
然后我想document1._score >
document2._score。换句话说,我想要类似针对数字的模糊查询。我将如何实现?用例是我想支持价格查询(精确或范围),但想对不在边界内的商品进行排名。
回答:
可以使用custom_score查询来实现,其中脚本将根据确切价格与所需价格之间的差的绝对值确定提升。期望的价格应作为参数传递给脚本,以避免针对每个请求重新编译脚本。
另外,也可以使用custom_filters_score查询来实现。此处的过滤器将围绕所需价格包含不同的范围。较小的范围将具有较高的提升,并且在列表中将显示较大的范围。
以上是 Elasticsearch得分基于数字离查询的接近程度 的全部内容, 来源链接: utcz.com/qa/406222.html