在 elasticsearch 5.x 中,对于长度不超过 256 个字符的文本字段,当此字段不需要时,存储文本有什么更好的解决方案:
- 搜索
- 索引
- 分析
- 可排序...
选项 1(使用 index=false 设置对文本的映射
选项 2(将映射设置为关键字,索引=假,doc_values=假
什么更节省空间?或者这两个映射在这些设置下有什么区别?
谢谢。
我肯定会使用 keyword
类型,这样就不会分析您的文本(就好像它是一个text
字段一样(。
除了您提到的设置之外,我还会设置更多参数,例如 ignore_above
和 include_in_all
.
所以:
"field_name": {
"type": "keyword",
"index": false,
"doc_values": false,
"ignore_above": 256,
"include_in_all": false
}