【发布时间】:2015-06-26 09:01:42
【问题描述】:
聚合中有奇怪的术语,如果另一个映射包含不同类型的相同属性名称:
映射
{
"mappings" : {
"access" : {
"properties" : {
"cache" : { "type" : "string" }
}
},
"foo" : {
"properties" : {
"foobar" : { "type" : "float" },
"cache" : { "type" : "integer" }
}
}
}
}
大量数据
{"create":{"_type":"foo"}}
{"foobar":[63.8828,66.3633,221.09,736.824,11.4336],"cache":[0,1536000]}
查询
curl -XGET "http://localhost:9200/test/access/_search?pretty=1" -d '{
query : { match_all : {} },
aggs : {
testagg : {
terms : {
field : "cache",
min_doc_count : 0
}
}
}
}'
结果
{
"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 查询
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 中的错误?
【问题讨论】: