按最高命中分数的弹性搜索聚合顺序

我想通过top_hit的doc.score订购存储桶.我目前的实施如下.
group_by_iid: {
    terms: {
      field: 'iid',order: { max_score: 'desc' },size: 0
    },aggs: {
      max_score: { max: { script: 'doc.score' } },top_hit: {
        top_hits: {
          sort: [{ source_priority: { order: 'desc' } }],size: 1
        }
      }
    }
  }

这是错误的,因为存储桶按其最高分排序,而不是按其最高source_priority文档的分数排序.有没有办法解决这个问题?

我有同样的问题,我解决它的方法是在文档分数上引入子聚合.然后在我的外部聚合中,我按照max_score聚合的名称排序.
GET /my-index/my-type/_search
{
  "query": {
      "bool" : {
        "should" : [ {
          "match" : {
            "searchTerm" : {
              "query" : "style","type" : "boolean"
            }
          }
        },{
          "flt_field" : {
            "searchTerm" : {
              "like_text" : "style"
            }
          }
        }]
      }
    },"aggs": {
        "group_by_target_url": {
          "terms": {
            "field": "targetUrl","order": {
              "max_score": "desc"
            }
          },"aggs": {
            "max_score": {
              "max": {
                "script": "doc.score"
              }
            }
          }
    }
  }    
}

我按照此链接上的说明操作:

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...