Elasticsearch奇怪的术语聚合

时间:2015-04-19 18:49:27

标签: elasticsearch aggregation

如果另一个映射包含不同类型的相同属性名称,则聚合中存在奇怪的术语:

MAPPING

{
  "mappings" : {
    "access" : {
      "properties" : {
        "cache" : { "type" : "string" }  
      }
    },
    "foo" : {
      "properties" : {
        "foobar" : { "type" : "float" },
        "cache"  : { "type" : "integer" }
      }
    }
  }
}

BULK DATA

{"create":{"_type":"foo"}}
{"foobar":[63.8828,66.3633,221.09,736.824,11.4336],"cache":[0,1536000]}

QUERY

curl -XGET "http://localhost:9200/test/access/_search?pretty=1" -d '{
    query : { match_all : {} },
    aggs : {
        testagg : {
            terms : { 
                field           : "cache", 
                min_doc_count   : 0
            }
        }
    }
}'

RESULT

{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 0,
    "max_score" : null,
    "hits" : [ ]
  },
  "aggregations" : {
    "testagg" : {
      "doc_count_error_upper_bound" : 0,
      "sum_other_doc_count" : 0,
      "buckets" : [ {
        "key" : "`\b\u0000\u0000\u0000\u0000",
        "doc_count" : 0
      }, {
        "key" : "`\b\u0000]`\u0000",
        "doc_count" : 0
      }, {
        "key" : "h\u0004\u0000\u0000\u0000",
        "doc_count" : 0
      }, {
        "key" : "h\u0004\u0000.p",
        "doc_count" : 0
      }, {
        "key" : "p\u0002\u0000\u0000",
        "doc_count" : 0
      }, {
        "key" : "p\u0002\u0000\u0017",
        "doc_count" : 0
      }, {
        "key" : "x\u0001\u0000",
        "doc_count" : 0
      } ]
    }
  }
}

没有AGG QUERY

curl -XGET 'http://localhost:9200/test/_search?pretty=1'
{
  "took" : 2,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 1,
    "max_score" : 1.0,
    "hits" : [ {
      "_index" : "test",
      "_type" : "foo",
      "_id" : "AUzS6wyGwkgefuU3DR2R",
      "_score" : 1.0,
      "_source":{"foobar":[63.8828,66.3633,221.09,736.824,11.4336],"cache":[0,1536000]}
    } ]
  }
}

我想知道为什么在聚合空访问映射时我会得到这些奇怪的术语...我的结构是否有问题或可能是Elasticsearch中的错误?

1 个答案:

答案 0 :(得分:2)

我通过谷歌搜索找到了您的问题 - 您和我遇到了同样的问题。

不幸的是,我们都遇到了这个错误:https://github.com/elastic/elasticsearch/issues/8614 - 不同映射中的相同字段名称需要共享相同的类型。