我想在匹配查询的结果上使用分页运行统计信息聚合。
POST catalog/product/_search
{
"_source": ["price.new"],
"query": {
"bool": {
"must": [
{
"multi_match": {
"type": "best_fields",
"query": "tie",
"fields": [
"name",
"name.search"
],
"operator": "and",
"minimum_should_match": "30%"
}
}
]
}
},
"from": 1,
"size": 50,
"sort": {
"price.new": {
"order": "asc"
}
},
"aggs": {
"priceRange": {
"stats": {
"field": "price.new"
}
}
}
}
查询结果中我的最低价格产品是:8439
显示统计数据汇总的位置:7839
如果我从查询中删除大小参数而不是查询返回价格为7839的产品。
如果使用size
参数,为什么会出现这种差异。
我希望我的统计数据聚合结果与当前结果集匹配,即使结果集省略了某些记录,聚合应该反映查询结果。
由于
答案 0 :(得分:0)
您可以使用multi search进行查询和聚合,并且只在查询中指定大小,而不是在聚合中指定大小。
{"index" : "catalog", "size": 50 , "sort": {"price.new":{"order":"asc" }}}
//your query
{"index" : "catalog"}
//your agggregation