2016-02-23 107 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" : {} 
    } 
    } 
}