在 elasticsearch 中存储不需要搜索、分析或聚合的文本的最佳方法?
Best way to store text in elasticsearch that does not need to be search, analyzed or aggregatable?
在 elasticsearch 5.x 中仅存储文本的更好解决方案是文本字段不再超过 256 个字符,而该字段不需要:
- 可搜索
- 索引
- 已分析
- 可排序...
选项 1)
将映射设置为 text with index=false
选项 2)
将映射设置为 keyword with index=false, doc_values=false
什么space效率更高?或者这两个映射与这些设置有什么区别?
谢谢。
我肯定会使用 keyword
类型,这样您的文本就不会被分析(就像它是一个 text
字段一样)。
除了你说的设置外,我还要设置几个参数,比如ignore_above
and include_in_all
。
所以:
"field_name": {
"type": "keyword",
"index": false,
"doc_values": false,
"ignore_above": 256,
"include_in_all": false
}
在 elasticsearch 5.x 中仅存储文本的更好解决方案是文本字段不再超过 256 个字符,而该字段不需要:
- 可搜索
- 索引
- 已分析
- 可排序...
选项 1) 将映射设置为 text with index=false
选项 2) 将映射设置为 keyword with index=false, doc_values=false
什么space效率更高?或者这两个映射与这些设置有什么区别?
谢谢。
我肯定会使用 keyword
类型,这样您的文本就不会被分析(就像它是一个 text
字段一样)。
除了你说的设置外,我还要设置几个参数,比如ignore_above
and include_in_all
。
所以:
"field_name": {
"type": "keyword",
"index": false,
"doc_values": false,
"ignore_above": 256,
"include_in_all": false
}