elasticsearch - 尝试聚合时获取 “Field data loading is forbidden”

标签 elasticsearch

我正在尝试做一个简单的唯一聚合,但出现此错误:

java.lang.IllegalStateException: Field data loading is forbidden on eid

这是我的查询:
POST /logstash-2016.06.*/Nginx/_search
{
  "query": {
    "bool": {
      "filter":  [
          {
            "term": { 
              "pid": "1"
            }
          },
          {
            "term": { 
              "cvprogress": "0"
            }
          },
          {
          "range" : {
              "ServerTime" : {
                  "gte" : "2016-06-28T00:00:00"
              }
          }
          }
      ]
    }
  },
    "aggs": {
          "distinct_colors" : {
              "cardinality" : {
                "field" : "eid"
              }
          }
        }

}

最佳答案

https://github.com/elastic/elasticsearch/issues/15267遍历整个线程之后,有效的方法是添加.raw

像这样:

"aggs": {
          "distinct_colors" : {
              "cardinality" : {
                "field" : "eid.raw"
              }
          }
        }

关于elasticsearch - 尝试聚合时获取 “Field data loading is forbidden”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38116636/

相关文章:

amazon-web-services - 如何在AWS Elasticsearch中按模板明确分配分片大小?

elasticsearch - 如何更新文档集的routingId

sorting - 类别的汇总,按类别顺序排序

docker - rsyslog未连接到docker中的elasticsearch

ElasticSearch - 上次写入获胜行为而不指定版本

ruby - rubygem elasticsearch的语法错误

django - 干草堆 : KeyError in the elasticsearch_backend module

elasticsearch - 使用fluentd,elsasticsearch和kibana获取在kubernetes容器中运行的tomcat容器的日志

java - Elasticsearch 分析

涉及根值和嵌套值的 Elasticsearch 脚本查询