我的文档中有3个JSON键值对,我将其插入到elasticsearch中并使用Kibana4进行可视化.3个JSON键是NT
,XT
和YT
。对于所有三个键,值通常为100到1000之间的整数。一些典型值为543
,328
和753
。当我在Kibana4中可视化键时,我会得到以下三个键中的每个键的警告。
This is an analyzed string field.Analyzed string fields are highly unique and can use a lot of memory to visualize
为了解决上述问题,我使用下面的shell脚本为弹性搜索中的document type
创建了一个包含这些键的映射。
我的弹性搜索索引是bits
,我的文档类型是nts
,我正在尝试为long
类型的文档中的3个JSON密钥分配类型nts
即NT
,XT
和YT
。
#!/bin/bash
curl -XPUT 'http://localhost:9200/bits/nts/_mapping' -d '
{
"events" : {
"dynamic" : "strict",
"properties" : {
"NT" : {
type : "long"
},
"XT" : {
type : "long"
},
"YT" : {
type : "long"
}
}
},
}'
上述映射无法解决问题,我仍然收到analyzed string field
警告。有人可以指出可能出现的问题吗?
答案 0 :(得分:3)
通过在Kibana的Discover选项卡上检查单个索引文档JSON,确保您的字段实际上被编入索引为整数(即数字周围没有引号)。
您可能需要更改应用程序索引数据的方式。 index.mapping.ignore_malformed和index.mapping.coerce设置描述here也可能有所帮助。
还可以尝试设置 - >指数 - >并单击Kibana中的“重新加载字段列表”按钮,因为它会缓存字段类型。
最后,如果您正在使用带时间戳的索引模式(如[logstash-] YYYY.MM.DD),您可能需要重命名或删除旧字段索引为字符串的索引