elasticsearch - 如何在多个地理点上使用Elasticsearch距离查询

标签 elasticsearch

假设我要搜索距离三个地理位置A,B或C任意5公里以内的文档。是否可以在单个查询中执行该操作或如何执行?

最佳答案

是的,您可以将bool/should查询与三个geo_distance查询一起使用。

POST /your_index/_yearch
{
  "query": {
    "bool": {
      "should": [
        {
          "geo_distance": {
            "distance": "5km",
            "pin.location": {
              "lat": 40,
              "lon": -70
            }
          }
        },
        {
          "geo_distance": {
            "distance": "5km",
            "pin.location": {
              "lat": 41,
              "lon": -71
            }
          }
        },
        {
          "geo_distance": {
            "distance": "5km",
            "pin.location": {
              "lat": 42,
              "lon": -72
            }
          }
        }
      ]
    }
  }
}

关于elasticsearch - 如何在多个地理点上使用Elasticsearch距离查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36898936/

相关文章:

Elasticsearch 最小主节点

elasticsearch - 如何在Logstash中创建自定义文档_id?

elasticsearch - 我们可以优先考虑 Elasticsearch 中搜索索引的顺序吗

elasticsearch - 如何在AppVeyor构建代理上可靠地安装和运行Elasticsearch?

java - 使用映射和设置创建索引时分析器未发现异常

elasticsearch - 嵌套 Elasticsearch 嵌套查询问题 ES7.2

elasticsearch - 使用 JSON 对象搜索特定索引

elasticsearch - Elastic Search 1.7.3嵌套过滤器:匹配对象数组中的术语

elasticsearch - 您输入的索引模式与任何索引都不匹配

node.js - 通过 Node js api 更新 elasticsearch 文档