如何从索引搜索(有多种类型)获取每种类型的前1个文档?

时间:2014-10-31 13:45:31

标签: elasticsearch indexing lucene nosql

我们有一个名为“machines”的索引,在ElasticSearch中有“auto,bike,car,flight”类型

我希望从索引中搜索类似的品牌 - 来自每种类型

如何通过Elasticsearch REST API搜索索引(具有多种类型)来查询每种类型的前1个文档?

1 个答案:

答案 0 :(得分:0)

尝试使用top_hits aggregation

GET /machines/_search?search_type=count
{
  "query": {
    "match_all": {} //your query here
  }, 
  "aggs": {
    "top-types": {
      "terms": {
        "field": "_type"
      },
      "aggs": {
        "top_docs": {
          "top_hits": {
            "sort": [
              {
                "_score": {
                  "order": "desc"
                }
              }
            ],
            "size": 1
          }
        }
      }
    }
  }
}