gpt4 book ai didi

elasticsearch - 不会根据ES查询中传递的大小参数进行汇总

转载 作者:行者123 更新时间:2023-12-03 01:27:50 24 4
gpt4 key购买 nike

我的ES查询看起来像这样。我正在尝试获取从0到9的索引的平均评分。但是ES正在获取所有记录的平均值。

GET review/analytics/_search
{
"_source": "r_id",
"from": 0,
"size": 9,
"query": {
"bool": {
"filter": [
{
"terms": {
"b_id": [
236611
]
}
},
{
"range": {
"r_date": {
"gte": "1970-01-01 05:30:00",
"lte": "2019-08-13 17:13:17",
"format": "yyyy-MM-dd HH:mm:ss"
}
}
},
{
"terms": {
"s_type": [
"aggregation",
"organic",
"survey"
]
}
},
{
"bool": {
"must_not": [
{
"terms": {
"s_id": [
392
]
}
}
]
}
},
{
"term": {
"status": 2
}
},
{
"bool": {
"must_not": [
{
"terms": {
"ba_id": []
}
}
]
}
}
]
}
},
"sort": [
{
"featured": {
"order": "desc"
}
},
{
"r_date": {
"order": "desc"
}
}
],


"aggs": {

"avg_rating": {
"filter": {
"bool": {
"must_not": [
{
"term": {
"rtng": 0
}
}
]
}
},
"aggs": {

"rtng": {
"avg": {
"field": "rtng"
}
}
}
},

"avg_rating1": {
"filter": {
"bool": {
"must_not": [
{
"term": {
"rtng": 0

}
}
]
}
},
"aggs": {
"rtng": {
"avg": {
"field": "rtng"
}
}
}
}


}
}

查询结果显示doc_count为43。而我希望它是9,以便我可以正确计算平均值。我已经指定了上面的尺寸。查询结果似乎计算正确,但聚合结果不正确。

最佳答案

fromsize对聚合没有影响。它们仅定义hits.hits数组中将返回多少文档。

聚合始终在query部分中通过任何查询选择的整个文档集中运行。

如果您知道“前”九个文档的ID,则可以在查询中添加terms查询,以便仅选择这9个文档,并且仅对这9个文档计算平均评分。

关于elasticsearch - 不会根据ES查询中传递的大小参数进行汇总,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57529224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com