I需要根据第二级聚合对第一级聚合进行排序。
当第二级聚合是基数/sum/max等时,上面的场景非常好,这与一个数字有关,但是当我在第二级聚合下添加项时,抛出了一个例外:
MY查询:
> {
> "size": 0,
> "aggs": {
> "id": {
> "terms": {
> "field": "column_id.keyword",
> "size": 10,
> "order": {
> "sort": "asc"
> }
> },
> "aggs": {
> "sort": {
> "terms": {
> "field": "table_name.keyword",
> "size": 10
> }
> }
> }
> }
> }
> }ES:异常:
无效术语聚合顺序路径排序。术语桶只能在子聚合器路径上排序,该路径由路径中的零或多个单桶聚合和路径末端的最终单桶或度量聚合组成。
通过查看上面的消息,我理解排序不能在术语上工作,但是有什么方法可以根据文本或关键字类型的第二个字段对第一级聚合进行排序吗??
发布于 2022-11-10 10:15:07
将排序更改为_key
> {
> "size": 0,
> "aggs": {
> "id": {
> "terms": {
> "field": "column_id.keyword",
> "size": 10,
> "order": {
> "_key": "asc"
> }
> },
> "aggs": {
> "sort": {
> "terms": {
> "field": "table_name.keyword",
> "size": 10
> }
> }
> }
> }
> }
> }https://stackoverflow.com/questions/50674281
复制相似问题