elasticsearch Kibana报告某个字段存在冲突,如何解决?,elasticsearch,kibana,elasticsearch,Kibana" /> elasticsearch Kibana报告某个字段存在冲突,如何解决?,elasticsearch,kibana,elasticsearch,Kibana" />

elasticsearch Kibana报告某个字段存在冲突,如何解决?

elasticsearch Kibana报告某个字段存在冲突,如何解决?,elasticsearch,kibana,elasticsearch,Kibana,在Kibana中,我注意到在我刷新索引模式后,我的一个字段显示为conflicted 示例: 所以我理解这是因为弹性搜索在该字段中找到了不同类型的值,我如何确定?这导致我的视觉效果中断,因为它们无法处理冲突的字段。 对于现有的数据,我如何才能避开这个问题?经过几个小时的反复研究和弹性文档,我终于找到了问题的答案 在ElasticSearch5.1(我使用的版本)中,您可以重新索引那些“有问题”的特定索引 您可以在Kibana中找到它,方法是单击管理索引模式并查找显示为冲突的字段。然后单击相应的

在Kibana中,我注意到在我刷新索引模式后,我的一个字段显示为
conflicted

示例:

所以我理解这是因为弹性搜索在该字段中找到了不同类型的值,我如何确定?这导致我的视觉效果中断,因为它们无法处理冲突的字段。
对于现有的数据,我如何才能避开这个问题?

经过几个小时的反复研究和弹性文档,我终于找到了问题的答案

在ElasticSearch5.1(我使用的版本)中,您可以重新索引那些“有问题”的特定索引

您可以在Kibana中找到它,方法是单击
管理
索引模式
并查找显示为
冲突
的字段。然后单击相应的铅笔图标查看字段的详细信息。在中,将显示不同字段类型下的索引

我在Power Shell中编写了一个脚本,通过指定“有问题的索引”为我实现了自动化,然后它执行以下操作(假设您有问题的索引名为:
log-20170101
):

  • 为日志-20170101-1创建映射
  • 重新索引
    log-20170101
    log-20170101-1
  • 删除
    log-20170101
  • 为日志-20170101创建映射
  • 将日志-20170101-1重新索引到日志-20170101
  • 删除
    log-20170101-1
现在,当您在Kibana中刷新索引模式时,您将注意到该字段不再是冲突的

你可以读到:和

请确保在下面指定新映射时,使用了要查找的适当映射数据类型

您可以通过以下方式查询弹性API来获取现有映射:

GET /_mapping/<your mapping name>
编辑


有关如何设置默认映射以防止再次发生此问题的信息,请参见本节。

请注意,如果您想使用Elastic Search 6.0及更高版本,此功能现已过时