2016-02-23 16 views
8

Tôi có truy vấn sau đây:Elasticsearch: Chỉ trở lại lồng inner_hits

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

này trả về cả hai "hit" đối tượng (toàn bộ tài liệu), cũng như "inner_hits" đối tượng (lồng vào bên trong của hits) .

Có cách nào để tôi chỉ trả lại (các) thành phần "truy vấn" phù hợp xuất hiện trong kết quả "inner_hits" mà không nhận được toàn bộ tài liệu không?

Trả lời

9

nên có thể để đạt được nó bằng cách tắt source-field ở cấp cao nhất bằng cách xác định "_source" : false

POST /networkcollection/branch_routers/_search/ 
{ 
    "_source" : false, 
    "query": { 
    "nested": { 
     "path": "queries", 
     "query": { 
     "bool": { 
      "must": [ 
      { "match": 
       { "queries.dateQuery": "20160101T200000.000Z" } 
      } 
      ] 
     } 
     }, 
     "inner_hits" : {} 
    } 
    } 
} 
Các vấn đề liên quan