2016-08-01 8 views
0

elasticsearchで私のaggsクエリのすべてのフィールドをどのように投影できるかを知りたい。私はこのデータセットがあるとします。elasticserachで集計されたすべてのフィールドを投影する

{ 
sent_id: 1 
doc_id: 5 
text: "test1" 
year: "2015" 
} 
{ 
sent_id: 2 
doc_id: 5 
text: "test2" 
year: "2015" 
} 

私は一定の基準を持っているすべての文章は私のDOC_IDに基づいてグループをやりたいです。私はこのような結果をしたい:それは他のすべてのフィールドを突出していない以外、次の

doc_id:5 
{ 
    {sent_id:1, year:2015, text: "test1"}, 
    {sent_id:2, year:2015, text: "test2"}, 
    etc 
}, 
doc_id: xx 
{ 
    {sent_id:xx, year:2015, text: "xx"} 
} 

は、私が欲しいもの、多かれ少なかれ私に与えます。

"query": { 
    "query_string": { 
     "fields": ["text"], 
     "query" : "affordable energy"}} 
    ,"size": 0 
    ,"aggs":{ 
    "doc_id":{ 
      "terms": { 
     "field": "doc_id" 
     ,"size": 0 
     }, 
     "aggs": { 
      "sents_info": { 
       "terms": { 
        "field": "sent_id", 
        "size": 0 
       } 
      } 
     } 
    } 
    } 

答えて

1
"aggs": { 
    "doc_id": { 
     "terms": { 
     "field": "doc_id", 
     "size": 0 
     }, 
     "aggs": { 
     "sents_info": { 
      "terms": { 
      "field": "sent_id", 
      "size": 0 
      }, 
      "aggs": { 
      "top10": { 
       "top_hits": { 
       "size": 10 
       } 
      } 
      } 
     } 
     } 
    } 
    } 
関連する問題