gpt4 book ai didi

elasticsearch - 如何使用elasticsearch geo query获取距离大于x公里的文档

转载 作者:行者123 更新时间:2023-12-02 22:16:28 26 4
gpt4 key购买 nike

嘿,我正在开发一个应用程序,我需要根据距离过滤器显示所提供的纬度和经度的地点。我正在提供来自 elastic search 的数据。我可以使用 geo_distance 查询轻松地提供数据,以查找具有中心点指定距离内的地理点的文档。但是我无法搜索大于 x 公里的数据

Elasticsearch 版本 - 6.6

映射 -

{
"mappings": {
"_doc": {
"properties": {
"location": {
"type": "geo_point"
}
}
}
}
}

要获取小于 x 公里的地方,我使用此查询

{
"query": {
"bool" : {
"filter" : {
"geo_distance" : {
"distance" : "15km",
"location" : {
"lat" : 40.1111,
"lon" : 40.1111
}
}
}
}
}
}

使用什么查询来获取大于 x km 的结果,geo filter 是否提供任何查询参数来获取大于 x 距离的数据?我可以将 filter 与 must_not 结合使用吗?

最佳答案

您只需将 filter 替换为 must_not 即可实现您的需求:

{
"query": {
"bool" : {
"must_not" : {
"geo_distance" : {
"distance" : "15km",
"location" : {
"lat" : 40.1111,
"lon" : 40.1111
}
}
}
}
}
}

关于elasticsearch - 如何使用elasticsearch geo query获取距离大于x公里的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55920290/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com