2013-04-11 5 views
13

Sto cercando di ottenere una query che possa restituire un json che soddisfi entrambe le condizioni di un filtro. Sto cercando di ottenere una risposta che è alimentare contenente un campo denominato "test1" e dovrebbe anche essere manca un campo "test2", Ive ha provato la queryUtilizzo del filtro mancante ed esiste insieme in una singola query

{ 
"query": { 
    "filtered": { 
    "query": { 
    "match_all": {} 
    }, 
     "filter": { 
     "missing": { 
     "field": "test2" 
     }, 
     "exists": { 
     "field": "test1" 
     } 
     } 
    } 
    } 
} 

La query sopra restituisce tutti i campi, che ha il campo "test1" e restituisce anche i feed che mancano il campo "test2", sto cercando di restringere la risposta in quanto voglio solo feed che soddisfino entrambe le condizioni.

risposta

24

È possibile combinare due o più filtri utilizzando bool filter:

{ 
    "query": { 
    "filtered": { 
     "query": { 
     "match_all": {} 
     }, 
     "filter": { 
     "bool": { 
      "must": [{ 
      "missing": { 
       "field": "test2" 
      } 
      }, { 
      "exists": { 
       "field": "test1" 
      } 
      }] 
     } 
     } 
    } 
    } 
} 
+0

che funziona !! Molte grazie!!!! :) – sam

Problemi correlati