2016-02-23 15 views
8

Ho la seguente query:elasticsearch: inner_hits restituire solo annidati

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

Questo restituisce sia l'oggetto "hits" (l'intero documento), così come l'oggetto "inner_hits" (nidificato all'interno di visite) .

C'è un modo per farmi restituire solo gli elementi di "query" corrispondenti che appaiono nei risultati "inner_hits", senza ottenere l'intero documento?

risposta

9

dovrebbe essere in grado di realizzarlo disabilitando source-field a livello superiore specificando "_source" : false

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