I指数这2个文件:Elasticsearch排序方面通过管道bucket_script聚集
POST my_index/my_type/1
{
"name": "Nephi",
"x": 5
}
POST my_index/my_type/2
{
"name": "Lehi",
"x": 10
}
这里是我的搜索请求:
POST my_index/my_type/_search?size=0
{
"aggs": {
"some_terms_agg": {
"terms": {
"field": "name",
"order": {
"the_script_bucket": "asc"
}
},
"aggs": {
"the_sum": {
"sum": {
"field": "x"
}
},
"the_avg": {
"avg": {
"field": "x"
}
},
"the_script_bucket": {
"bucket_script": {
"buckets_path": {
"a": "the_sum.value",
"b": "the_avg.value"
},
"script": "a + b"
}
}
}
}
}
}
我得到这样的错误:
无效term-aggregator订单路径[the_script_bucket]。未知聚集[the_script_bucket]
但是当我改变the_script_bucket
到另一个聚集像the_sum
或the_avg
它工作正常。我确信这是因为the_script_bucket
是一个流水线聚合,但我想根据the_script_bucket
对条款进行排序,因此我可以(例如)查看100,000个文档的前10个值。那可能吗?