java+根据距离排序,将模糊匹配与地理距离排序相结合的弹性搜索
发布日期:2021-06-24 11:54:26 浏览次数:2 分类:技术文章

本文共 696 字,大约阅读时间需要 2 分钟。

我有一个Elasticsearch查询,其中包括bool必须匹配查询以及地理距离排序 . 我在比赛中允许1的模糊等级 . 我遇到的问题是排序导致匹配的文档分数被忽略,因此如果模糊匹配在地理上更接近搜索位置,则在完全匹配之前可能会在结果列表中出现几个模糊匹配 .

有没有办法将模糊匹配与地理距离排序相结合,这样精确匹配仍然优先于距离更近的模糊匹配?或者 - 我是否以错误的方式思考这个问题,我是否需要采取不同的方法?

我考虑的另一个选项是使用地理距离滤波器(5,10,25英里等)在不进行距离排序的情况下在不同的搜索半径带中执行多个查询,并组合结果 . 如果可能的话,我想避免多次查询,因为这只是一种预先输出的功能,性能至关重要 .

目前我的查询看起来像:

GET /_search

{

"from": 0, "size": 10,

"query": {

"bool": {

"must": [

{

"match": {

"searchName": {

"query" : "my query",

"operator" : "AND",

"fuzziness" : "1",

"fuzzy_transpositions" : true

}

}

}

]

}

},

"sort": [

{

"_geo_distance" : {

"location" : [-93.26000213623047, 44.970001220703125],

"order" : "asc",

"unit" : "mi",

"mode" : "min",

"distance_type" : "arc"

}

}

]

}

转载地址:https://blog.csdn.net/weixin_32601635/article/details/116039696 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:解析式粗对准 matlab,基于MEMS的捷联惯导系统组合对准技术研究
下一篇:php分布式缓存 redia,分布式缓存Memcache与Redis

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年03月31日 07时50分19秒