Elasticsearch-使字段可聚合但不可搜索

时间:2018-12-19 10:15:12

标签: elasticsearch

我的elasticsearch数据包含大量不需要搜索的字段。但我想获得诸如百分位数,中位数,计数,平均数之类的汇总。等在这​​些领域。

是否有一种方法可以禁用字段的可搜索性,但仍使其可聚合?

2 个答案:

答案 0 :(得分:1)

默认情况下,大多数字段都已建立索引,因此可以搜索它们。如果要使字段不可搜索,只需将其index参数设置为false,并将doc_values设置为true。 根据弹性文档:

  

所有支持doc值的字段均默认启用。

因此,您无需为此类字段显式设置"doc_values": true

例如

{
  "mappings": {
    "_doc": {
      "properties": {
        "only_agg": {
          "type": "keyword",
          "index": false
        }
      }
    }
  }
}

如果在上例中尝试搜索字段only_agg,elastic将抛出异常,其原因如下:

Cannot search on field [only_agg] since it is not indexed.

答案 1 :(得分:0)