居然是你

字段对应的 doc_values 不是true

Elasticsearch | 作者 zplinti1 | 发布于2016年06月23日 | 阅读数:7817

ES version: 2.3.2
在ES 2.X版本后,根据官方文档,对于not_analyzed的string类型字段默认的doc_values属性是true。

1. 在测试的时候,无意中去看了下字段的doc_values属性,竟然是false。由于我的代码并没有任何doc_values相关的设置,难道是ES的bug?
 
2.在测试的时候,如果在同个index多个type拥有同样的field名字,这个字段刚开始时doc_values是true,当其它type的mapping也创建成功后,doc_values变成false。这个偶尔能够重现。。。
 
3. 在测试的时候,如果主动去设置doc_values为true,也不一定能够生效,查询的字段的结果还是返回false。
 
curl http://docker:9210/lmes_idx_28 ... Dtrue

{
"lmes_idx_28_1461888000000": {
"mappings": {
"alerts": {
"lm_company": {
"full_name": "lm_company",
"mapping": {
"lm_company": {
"type": "string",
"index_name": "lm_company",
"boost": 1,
"index": "not_analyzed",
"store": false,
"doc_values": false,
"term_vector": "no",
"norms": {
"enabled": false
},
"index_options": "docs",
"similarity": "default",
"fielddata": {},
"null_value": null,
"include_in_all": false,
"position_increment_gap": -1,
"ignore_above": -1
}
}
}
}
}
}
}
已邀请:

medcl - 今晚打老虎。

赞同来自:

其它type的数据都是string字符么,都是dynamic的mapping么?

要回复问题请先登录注册