首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将地理数据添加到elasticsearch查询(elasticsearch 6.4)?

如何将地理数据添加到elasticsearch查询(elasticsearch 6.4)?
EN

Stack Overflow用户
提问于 2018-10-20 18:51:38
回答 1查看 166关注 0票数 0

请帮助一个完全的新手!

我有一个现有的elasticsearch索引(它是由一个插件自动生成的,该插件从数据库中填充索引),并且我正在尝试在地理上可视化一些字段(使用Kibana的坐标地图)。索引本身没有地理位置数据。它有一个名为"alloc_node“的字段,我知道数据集中只有几个”alloc_node“,而且我有它们的地理坐标。

索引中的数据如下所示(来自Kibana的discover选项卡,截断):

代码语言:javascript
复制
t  _id          MV0JkWYBmQ9JhdzgNzwI
t  _index           slurm
#  _score            - 
t  _type            jobcomp
t  alloc_node           mace

例如,我知道"mace“位于纽约市,经度= 40.73,经度= -73.94。我只有5个这样的记录,其中我必须将节点映射到geo。

我是否必须更新索引才能将其可视化,或者是否可以通过查询添加额外的字段?多么?什么是最有效的?索引目前并不大(但在生产中可能会很大)。

我试着阅读文档,但我对ES 6.x中不推荐使用的映射类型感到困惑,而且我尝试的那些愚蠢的东西也不起作用。我觉得对于有更多经验的人来说,这应该是一件很容易回答的事情。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2018-11-01 04:45:35

要在Kibana中可视化这一点,您的映射中必须有一个"geo_point“类型。在映射中创建这样的字段的一种简单方法是:

代码语言:javascript
复制
PUT /slurm
{
  "mappings": {
    "default": {
      "properties": {
        "your_geo_location_field": {
          "type": "geo_point"
        }
      }
    }
  }
}

然后,当您将文档放入索引(索引)时,"your_geo_location_field“字段应该有一个"lat”和"lon“浮点字段,或者一个包含这两个字段的数组,例如,这是一个有效的对象:

代码语言:javascript
复制
{ 
  "geolocation": {
    "lat": "40.71476752",
    "lon": "-74.01280024"
  }
}

其中"geolocation“就是这样一个字段的例子。

您需要做的是使用上面的映射创建另一个索引,将当前索引重新索引到新创建的索引中(包含所有包含有效对象的文档),然后Kibana将在此字段之上为您提供可视化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52904858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档