我是这样做的:
{
"size":0,
"aggs":
{
"my_aggs":
{
"terms":
{
"field":"my_field"
}
}
}
}
我只想得到聚合结果。所以当我开始 size=0
如下所示,它给出了一个错误,后来才知道这是我想要多少结果(聚合)。那么,我如何才能做到这一点,只得到聚合结果(没有命中结果文档)
AbstractAggregationBuilder aggregationBuilder = AggregationBuilders
.terms("my_aggs")
.field("my_field")
.size(0) //how to set size for my purpose?
.order(BucketOrder.key(true));
此外,如果我得到数千个聚合结果,这个查询会返回所有这些结果吗?还是应用到默认的10大小?如果不是,我怎么知道应该设置多少聚合结果的大小。
编辑我正在添加聚合,如下所示:
SearchQuery searchQuery = new NativeSearchQueryBuilder()
.withIndices(indexName)
.withTypes(typeName)
.withQuery(boolQueryBuilder)
.addAggregation(aggregationBuilder)
.build();
请帮忙。
1条答案
按热度按时间5anewei61#
在不在聚合级别的searchrequest示例上执行此操作:
据我所知,springdataes不允许您创建
PageRequest
大小为0(因此我选择1)。如果这是一个问题,这个答案会告诉你如何覆盖这个行为。默认情况下,聚合将返回10个bucket,但如果需要,可以将大小增加到10000。