我在range aggregation
上方有一个maxPrice
,以获取每个价格的文件数量。
我使用range query
来设置maxPrice
的最大值。查询结果正常。当我设定范围f.e.直到20,显示正确的文档。
问题:
对于价格大于范围查询范围内设置的价格,range aggregation
显示doc_count> 0
我的问题:
如何获取与范围查询相关的范围汇总?
GET test-faceted-search/_search
{
"query": {
"function_score": {
"field_value_factor": {
"field": "ranking",
"factor": 0.0001,
"modifier": "ln1p",
"missing": 1
},
"score_mode": "avg",
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "find me",
"fields": [
"name^100",
"altname^80",
"cat^20"
],
"fuzziness": 1,
"operator": "and",
"type": "best_fields"
}
},
{
"range": {
"maxPrice": {
"lte": 20
}
}
}
]
}
}
}
},
"aggs": {
"pricefilter": {
"range": {
"field": "maxPrice",
"ranges": [
{
"to": 10
},
{
"to": 25
}
]
}
}
}
}
我希望有人能帮助我。
答案 0 :(得分:0)
我找到了解决方法。
我错过了,我必须向范围聚合添加from
参数。
"aggs": {
"pricefilter": {
"range": {
"field": "maxPrice",
"ranges": [
{
"from": 0.1
"to": 10
},
{
"from": 10.01
"to": 25
}
]
}
}
}