我在Kibana中的索引设置告诉我,我的logstash- *索引模式中有映射冲突的字段。
找出哪些字段存在冲突映射和/或哪些索引发生冲突的最简单方法是什么?
答案 0 :(得分:4)
至少从Kibana 5.2开始,您可以输入"冲突"进入Filter字段,它将所有字段过滤到只有那些有冲突的字段。在最右边有一个名为"控件"的列,每个字段都有一个带铅笔图标的按钮。单击它将告诉您哪些索引具有哪种映射。
答案 1 :(得分:3)
您可以轻松地在Kibana中使用映射API查找字段的映射方式。
如果您知道映射冲突,那么我将假定您知道存在冲突的字段名称。这些将列在“管理/索引模式/ index_pattern”下
如果您有每天创建的索引,例如production-2020.06.16,则可以搜索带有production *的所有索引。
转到Dev Tools并输入此查询,更改索引模式(production *)和矛盾的字段名以适应您的需求。
GET production*/_mapping/field/conflictedFieldname
这将拉出所有与production *模式匹配的索引,并将为每个索引列出冲突字段名的映射。滚动查看哪个与另一个不一样。
您还可以在此处查看Elasticsearch文档:Elasticsearch documentation: Get Field Mapping API
出现冲突的原因是,Elasticsearch使用索引中的第一个值来最好地猜测应该是哪种数据类型。通过为您关注的索引模式放置模板,可以确保它始终是同一类型。
答案 2 :(得分:1)
答案 3 :(得分:1)
在Elasticsearch 5.5.2中,您可以单击过滤器搜索框右侧的下拉列表,然后选择“冲突”。这是在“索引模式”页面中。
答案 4 :(得分:0)
因为我无法在gui中找到映射冲突。我走了硬道路分析我的配置丢失/冲突字段类型找到了罪犯并重新索引我的数据。