【发布时间】:2020-09-24 20:02:09
【问题描述】:
我正在尝试使用AggregationBuilders 按其客户名称汇总我的文档计数,因为我们有多个客户与一个文档相关联。我们正在使用嵌套字段client_name 来索引和搜索文档。
这是我的数据格式
{
"id": "5f68c6c80f52a45a0db6d470",
"name": "Mi Note 10 Lite",
"brand": {
"name": "xiaomi"
},
"client_name": [
{
"name": "client a"
},
{
"name": "client b"
}
]
}
当我尝试使用聚合过滤器搜索客户端 a 和 b 时,它只会返回一个文档计数
"aggregations": {
"client a": {
"doc_count": 1
},
"client b": {
"doc_count": 0
},
}
我正在使用带有弹性搜索 6.3 的 java API。
这是我的查询代码
boolQuery.should(new NestedQueryBuilder(CLIENT_NAME,
QueryBuilders
.termQuery(CLIENT_NAME + "." + NAME, token),ScoreMode.None));
这是我的AggregationBuilders.filter(k,v);
聚合存储桶不应该在两个存储桶上都返回 doc count 1 还是我遗漏了什么?
【问题讨论】:
-
请发布您请求的完整汇总部分
标签: java elasticsearch