在elasticsearch中存储不需要搜索、分析或聚合的文本的最佳方式?

Pet*_* D. 5 elasticsearch elasticsearch-5

对于不再超过 256 个字符的文本字段,当该字段不需要时,在 elasticsearch 5.x 中仅存储文本的更好解决方案是什么:

  • 可搜索的
  • 索引
  • 分析过的
  • 可排序...

选项 1) 设置映射到索引 = false 的文本

选项 2) 将映射设置为索引 = false、doc_values = false 的关键字

什么更节省空间?或者这两个映射与这些设置有什么区别?

谢谢。

Val*_*Val 3

我肯定会使用该keyword类型,这样您的文本就不会被分析(就像它是一个text字段一样)。

除了您提到的设置之外,我还设置了一些参数,例如ignore_aboveinclude_in_all

所以:

    "field_name": {
      "type":  "keyword",
      "index": false,
      "doc_values": false,
      "ignore_above": 256,
      "include_in_all": false
    }
Run Code Online (Sandbox Code Playgroud)