请帮助一个完整的新手!
我有一个现有的elasticsearch索引(它是由一个从数据库填充该索引的插件自动生成的),并且我试图在地理上可视化某些字段(使用Kibana的坐标图)。该索引本身没有地理位置数据。它有一个名为“ alloc_node”的字段,我知道数据集中仅存在少数“ alloc_node”,并且具有其地理坐标。
来自索引的数据如下所示(在Kibana的“发现”选项卡中,被截断了):
t _id MV0JkWYBmQ9JhdzgNzwI
t _index slurm
# _score -
t _type jobcomp
t alloc_node mace
例如我知道“王牌”位于纽约市,纬度= 40.73,lon = -73.94。我只有5条这样的记录,我必须将节点映射到geo。
我是否必须更新索引以使其可视化,还是可以通过查询添加额外的字段?怎么样?什么是最有效的?目前该指数并不大(但实际产量可能是)。
我尝试阅读文档,但是我对ES 6.x中不推荐使用的Mapping类型感到困惑,而我尝试过的愚蠢的事情也没有用。我觉得对于有更多经验的人来说,这应该是一件容易的事情。任何帮助将非常感激。
答案 0 :(得分:0)
要在Kibana中可视化,您必须在映射中输入“ geo_point”类型。 在映射中创建此类字段的简单方法是:
PUT /slurm
{
"mappings": {
"default": {
"properties": {
"your_geo_location_field": {
"type": "geo_point"
}
}
}
}
}
然后,当您将文档推入索引(索引)到索引中时,“ your_geo_location_field”字段应具有“ lat”和“ lon” float字段,或包含两个字段的数组,例如,这是一个有效的对象:
{
"geolocation": {
"lat": "40.71476752",
"lon": "-74.01280024"
}
}
“地理位置”是此类字段的示例。
您需要做的就是使用上述映射创建另一个索引, 将当前索引重新索引为新创建的索引(所有文档均包含有效对象),然后Kibana将在该字段顶部为您提供可视化效果。