当前位置: 首页 > 知识库问答 >
问题:

点类型地理形状上的Elasticsearch地理距离滤波器

曾瀚昂
2023-03-14

因此,我的文档(帖子)中有一个位置字段。此位置字段是一个地理形状。它可以是一个点或多边形。有时,我可能不得不使用地理距离过滤器来获取标记最接近某个坐标的帖子(仅具有点的帖子键入地理形状,而不是多边形)。然而,在尝试使用geo_距离过滤器时,我遇到了以下错误。

... nested: QueryParsingException[[naya] failed to find geo_point field [location]]; }] ...',

是否有一种方法可以在类型的地理图形上使用地理距离过滤器?

共有1个答案

羊时铭
2023-03-14

你可以使用这样的东西:

{
  "query": {
    "geo_shape": {
      "location": {
        "shape": {
          "type": "circle",
          "radius": "100km",
          "coordinates": [ 
            77,
            28
          ]
        }
      }
    }
  }
}

可以使用要运行地理距离查询的中心坐标。使用具有指定半径的圆形形状。它匹配任何相交形状以及位于查询中提供的形状内的任何地理点。

 类似资料:
  • 问题内容: 我在查询中使用带轮胎的过滤器,效果很好: 我希望结果将以某种方式包括我用于过滤器的地理位置的计算距离。 有没有办法告诉Elasticsearch在响应中包括它,这样我就不必为每个结果都用ruby计算它? ==更新== 我在一个Google网上论坛中找到了答案: 按排序将得出原始结果中的距离。 问题答案: 排序依据将返回结果中的距离:http : //www.elasticsearch.

  • 在geo形状类型的字段上有一些额外的内部字段。例如,“shape”是一个geo-shape类型的字段,它有规则的必填字段,如“坐标”、“半径”等,但它也可能有其他字段,如“元数据”,我希望elasticsearch不要解析这些字段,也不要将其存储在索引中。例如: 映射架构如下所示: 我怎样才能做到这一点?通过使用“动态”:false映射模式似乎不起作用。

  • 问题内容: 我需要测量以字符串形式提供名称的两个地方之间的物理距离。由于有时名称的书写方式略有不同,因此我一直在寻找一个可以帮助我测量差异的库,然后将其与纬度和经度结合起来以选择正确的匹配项。首选语言:Java或PHP。 有什么建议? 问题答案: 看看Levenshtein距离。这是一种测量两个字符串彼此之间有多不同的方法。 希望我能正确理解你的问题;在与“经度”相同的句子中使用“距离”可能会造成

  • 本文向大家介绍php两点地理坐标距离的计算方法,包括了php两点地理坐标距离的计算方法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了php计算两点地理坐标距离的具体代码,供大家参考,具体内容如下 功能:根据圆周率和地球半径系数与两点坐标的经纬度,计算两点之间的球面距离。 获取两点坐标距离: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 问题内容: 假设我们在ElasticSearch索引中有一堆文档。每个文档 在一个数组中 都有多个位置,如下所示: 根据ElasticSearch参考指南 该过滤器可以针对每个文档使用多个位置/点。一旦单个位置/点与过滤器匹配,则文档将包含在过滤器中。 因此,是否可以创建检查数组中所有位置的地理距离过滤器? 不幸的是,这似乎不起作用: 抛出“ ”,因为它不是单个值,而是s 的数组。 问题答案: 您