2016-02-23 148 views
8

我有以下查詢:Elasticsearch:只返回嵌套inner_hits

GET /networkcollection/branch_routers/_search/ 
{ 
    "query": { 
    "nested": { 
     "path": "queries", 
     "query": { 
     "bool": { 
      "must": [ 
      { "match": 
       { "queries.dateQuery": "20160101T200000.000Z" } 
      } 
      ] 
     } 
     }, 
     "inner_hits" : {} 
    } 
    } 
} 

這同時返回的「命中」的對象(整個文檔),以及在「inner_hits」對象(嵌套命中內) 。

有沒有辦法讓我只返回出現在「inner_hits」結果中的匹配「查詢」元素,而沒有得到整個文檔?

回答

9

應該能夠在頂級禁用source-field來實現它通過指定"_source" : false

POST /networkcollection/branch_routers/_search/ 
{ 
    "_source" : false, 
    "query": { 
    "nested": { 
     "path": "queries", 
     "query": { 
     "bool": { 
      "must": [ 
      { "match": 
       { "queries.dateQuery": "20160101T200000.000Z" } 
      } 
      ] 
     } 
     }, 
     "inner_hits" : {} 
    } 
    } 
}