我正在使用弹性搜索5.6.2与Kibana,我目前正面临一个问题
我的文档在字段timestamp
上编制索引,这通常是一个整数,但是最近有人记录了一个时间戳不是整数的文档,并且Kibana抱怨类型冲突。
发现面板不显示任何内容,并弹出以下错误:
Saved "field" parameter is now invalid. Please select a new field.
Discover: "field" is a required parameter
如何查找导致这些冲突的文档,以便找到创建错误日志的服务?
答案 0 :(得分:1)
字段类型(整数或文本/关键字)不是基于每个文档定义的,而是基于每个索引定义的(在映射中)。我猜你正在操纵时间序列数据,你可能每天(或每月或......)都有非索引。
在Kibana开发工具中:
GET _cat/indices
GET logstash-2017.09.28/_mapping
并检查@timestamp
索引之间的字段类型可能不同。
您将无法更改已创建索引的字段类型。删除文档不会解决您的问题。唯一的解决方案是删除索引或使用新字段类型(在特定映射中)重新索引整个索引。
为避免将来索引出现此问题,解决方案是创建一个索引template,其中包含一个映射,告知字段@timestamp
的类型为date
或其他类型。