我正在尝试使用涵盖ElasticSearch的两个索引的索引模式在Kibana中创建坐标贴图可视化。一个索引包含位置(纬度/经度)信息,而另一个索引包含与这些位置相关的物联网设备的实时数据。这两个指数显然都有不同的领域。
我遇到的问题是,当我尝试创建Map时,要查看不同位置的实时数据,它不显示任何内容,返回异常&#34; 10个分片中的5个失败&#34; < / strong>即可。我已经检查了http://localhost:5601/elasticsearch/_msearch
的响应(我想是在查询ES以获取所需的数据),并得到了以下对象:
{
"took": 51,
"timed_out": false,
"_shards": {
"total": 10,
"successful": 5,
"skipped": 0,
"failed": 5,
"failures": [
{
"shard": 0,
"index": "live-data",
"node": "R68NHkrGSIqyk8TdlR5ZrA",
"reason": {
"type": "query_shard_exception",
"reason": "failed to find geo_point field [location]",
"index_uuid": "tOogjd6PTja0DAJLKYLpDA",
"index": "live-data"
}
}
]
}
}
当我仅使用单个索引时,位置在地图上显示为指针。
这显然是因为ElasticSearch无法在location
索引中找到live-data
字段,但是它不能匹配其他索引中的location
字段吗?因为,两个索引都有一个名为"device_id"
我想这可以通过在查询ElasticSearch时设置ignore_unmapped: true
来解决,但我不知道如何在Kibana中设置此参数,以便在构建可视化时使用它来请求ElasticSearch数据。
ELK版本:6.1.2
非常感谢任何帮助。