查询多个索引(不同的字段映射)导致失败的碎片异常

时间:2018-04-17 07:01:01

标签: elasticsearch kibana elastic-stack

我正在尝试使用涵盖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

非常感谢任何帮助。

0 个答案:

没有答案