我已经从包含地理数据的数据集中创建了一个Elasticsearch索引。我已经为数据设置了映射。然后,我尝试使用此数据集创建Kibana可视化。Kibana可以检测到地理数据属性,但是即使有很多结果也找不到任何结果。然后,我对另一个具有不同且更简单布局的数据集进行了测试,并且Kibana正确地可视化了地理数据。
这是有效的示例:
“ location”:{“ lat”:56.290525,“ lon”:-30.163298},
这是它的映射:
"location": { "type": "geo_point", "lat_lon": true, "geohash": true }
而且这不起作用:
"groupOfLocations": { "@type": "Point", "locationForDisplay": { "lat": 59.21232, "lon": 9.603803 } }
{ ... // nested type "locationForDisplay": { "type": "geo_point", "lat_lon": true, "geohash": true } ... }
工作版本和非工作版本之间只有两处不同:
一个有效的对象具有一个称为“ location”的JSON元素,而另一个则称为“ locationForDisplay”
一个有效的对象具有一个JSON元素(“位置”)作为顶层元素,而另一个有效元素是嵌套类型的元素。
除了这两个差异(我认为这并不意味着什么)之外,我什么也找不到。什么会使Kibana失败?
Kibana无法使用嵌套Json,您需要将其更改为标准Json。