我有一个嵌套字段的文档,如下所示:
...
"results": [
{
"id": "1234",
"name": "asdf"
},
{
"id": "5678",
"name": "jklö"
}
],
"ip": "1.2.3.4"
...
嵌套字段的映射如下所示:
"results": {
"type": "nested",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
在我切换到elasticsearch 2之前,我对aggs进行了查询,这些查询计算了没有结果的文档。这是查询的聚合部分:
"aggs": {
"no_result": {
"filter": {
"missing": {
"field": "results"
}
},
"aggs": {
"count": {
"value_count": {
"field": "ip"
}
}
}
}
}
现在我切换到elasticserach 2它只计算所有文件。我已经尝试了不同的东西,比如计算所有文档和计算结果,这样我就可以减去结果,但是
"aggs": {
"results_count": {
"value_count": {
"field": "results"
}
}
}
总是0
如何正确过滤/计算嵌套字段?
答案 0 :(得分:2)
如果你想计算有结果的文件数量,你可以这样做。
getSystemService
数字计数将位于top_reserve_nested doc_count
中答案 1 :(得分:0)
" field":" ip"
应该是 " field":" id"