讀《深刻理解Elasticsearch》點滴-聚合-top_hits

 

 

如下是官網手冊(部分)(v5.1)html

直接直接看官網手冊node

https://www.elastic.co/guide/en/elasticsearch/reference/5.1/search-aggregations-metrics-top-hits-aggregation.htmllinux

Top hits Aggregationedit

A top_hits metric aggregator keeps track of the most relevant document being aggregated. This aggregator is intended to be used as a sub aggregator, so that the top matching documents can be aggregated per bucket.git

The top_hits aggregator can effectively be used to group result sets by certain fields via a bucket aggregator. One or more bucket aggregators determines by which properties a result set get sliced into.github

Optionsedit

  • from - The offset from the first result you want to fetch.
  • size - The maximum number of top matching hits to return per bucket. By default the top three matching hits are returned.
  • sort - How the top matching hits should be sorted. By default the hits are sorted by the score of the main query.

Supported per hit featuresedit

The top_hits aggregation returns regular search hits, because of this many per hit features can be supported:windows

Exampleedit

In the following example we group the questions by tag and per tag we show the last active question. For each question only the title field is being included in the source.app

{ "aggs": { "top-tags": { "terms": { "field": "tags", "size": 3 }, "aggs": { "top_tag_hits": { "top_hits": { "sort": [ { "last_activity_date": { "order": "desc" } } ], "_source": { "includes": [ "title" ] }, "size" : 1 } } } } } }

Possible response snippet:elasticsearch

"aggregations": { "top-tags": { "buckets": [ { "key": "windows-7", "doc_count": 25365, "top_tags_hits": { "hits": { "total": 25365, "max_score": 1, "hits": [ { "_index": "stack", "_type": "question", "_id": "602679", "_score": 1, "_source": { "title": "Windows port opening" }, "sort": [ 1370143231177 ] } ] } } }, { "key": "linux", "doc_count": 18342, "top_tags_hits": { "hits": { "total": 18342, "max_score": 1, "hits": [ {
相關文章
相關標籤/搜索