我们不需要使用字段数据,并且遵循Elasticsearch建议我们已将所有字段设置为“doc_values = true”,并将所有字段设置为不分析:
"field1": {
"index": "not_analyzed",
"fielddata": {
"format": "doc_values"
},
"doc_values": true,
"type": "string"
},
"field2": {
"index": "not_analyzed",
"fielddata": {
"format": "doc_values"
},
"doc_values": true,
"type": "date"
},
"field3": {
"index": "not_analyzed",
"fielddata": {
"format": "doc_values"
},
"doc_values": true,
"type": "string"
}
查看在更改模板后创建的新索引,我们看到该字段仍在使用字段数据内存(使用stats API):
"fielddata" : {
"memory_size_in_bytes" : 30484,
"evictions" : 0,
"fields" : {
"itemCached" : {
"memory_size_in_bytes" : 7980
},
"field1" : {
"memory_size_in_bytes" : 1248
},
"field2" : {
"memory_size_in_bytes" : 3040
},"field3" : {
"memory_size_in_bytes" : 3040
}
"field4" : {
"memory_size_in_bytes" : 0
....
}
(其他字段也设置为未分析,doc-values = true也包含在上述响应中)。 任何人都可以建议为什么这些字段仍在使用字段数据?