2016-02-23 10 views
8

Mam następujące zapytanie:Elasticsearch: powrót tylko zagnieżdżone inner_hits

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

ta zwraca zarówno „trafień” obiekt (cały dokument), jak również „inner_hits” obiekt (zagnieżdżona trafień) .

Czy istnieje sposób, aby zwracać tylko dopasowane elementy "zapytania", które pojawiają się w wynikach "inner_hits", bez uzyskania całego dokumentu?

Odpowiedz

9

Powinny być w stanie to osiągnąć poprzez wyłączenie source-field na najwyższym poziomie, określając "_source" : false

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