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"
}
}
}
}
}
}
私はこのようなエラーが出る:
無効を用語集の順序パス[the_script_bucket]。未知の集約[the_script_bucket]
をしかし、私はthe_sum
またはthe_avg
のような別の凝集をthe_script_bucket
を変更すると、それが正常に動作します。 the_script_bucket
はパイプライン集約であると確信していますが、用語をthe_script_bucket
に基づいてソートする必要があります。たとえば、100,000個のドキュメントの上位10個の値を表示できます。それは可能ですか?それはこのようになります