2016-08-01 98 views
0

我想知道如何在彈性搜索中的我的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 
       } 
      } 
      } 
     } 
     } 
    } 
    }