【问题标题】:Elastic kibana selection of points (geopoints) in complex polygon复杂多边形中点(地理点)的弹性kibana选择
【发布时间】:2020-07-16 17:50:38
【问题描述】:

我在处理看似相当基本的用例时遇到了麻烦,但我遇到了 Kibana 的某些限制以及某些地理数据类型的问题。我开始觉得我只是在接近它错误。

我有一个相对较大的 geo_point 类型的点数据集(位置),并构建了地图和仪表板。我现在想添加一个复杂的 AOI。我获取了 shapefile,将其解散,使其成为一个功能而不是多个功能,将其转换为 geojson 并通过 Kibana Maps 功能上传(以创建索引)。然后我将其作为图层可用,并希望只允许选择它,显示工具提示,然后按特征过滤。不幸的是,我随后收到一条错误消息,说这将是一个太大的操作,无法发布到 URL - 我理解,因为 geojson 中有超过 200 万个字符。

相反,我认为我可以根据以下指导以某种方式编写查询:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geo-shape-query.html 具有预索引的形状。

但是,允许针对 geo_shape 查询 geo_point 似乎不起作用。 例如

    GET /locations_index/_search
{
  "query": {
    "geo_point": {
      "geolocation": {
        "relation": "within",
        "indexed_shape": { 
          "index": "aoi_index",
          "id":    "GYruUnMBfgunZ6kjA8qn",
          "path":  "coordinates"
        }
      }
    }
  }
}

给出以下错误:

    {
  "error" : {
    "root_cause" : [
      {
        "type" : "parsing_exception",
        "reason" : "no [query] registered for [geo_point]",
        "line" : 3,
        "col" : 18
      }
    ],
    "type" : "parsing_exception",
    "reason" : "no [query] registered for [geo_point]",
    "line" : 3,
    "col" : 18
  },
  "status" : 400
}

我是否需要将我的点索引转换为地理形状而不是地理点?或者有没有更简单的方法? 我注意到以下文档:https://www.elastic.co/guide/en/elasticsearch/guide/current/filter-by-geopoint.html 建议我可以通过 geo_polygon 进行查询,但我看不到任何引用我的预索引形状的方式,而不是在查询中包含大量 JSON(如示例所示) .

谁能指出我(即使是粗略地)正确的方向?

提前致谢。

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    Here's how 你可以使用indexed_shape。让我知道这个答案是否足以让您入门。

    【讨论】:

    • 这是一个帮助我入门的有用指南,前提是我将存储为地理形状而不是地理点的位置转换。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    • 2019-04-03
    • 1970-01-01
    • 2013-05-15
    • 2011-02-14
    相关资源
    最近更新 更多