2013-04-11 6 views
13

Ich versuche, eine Abfrage, die einen JSON zurückgeben kann, die beide Bedingungen einer Filterung erfüllt. Ich versuche, eine Antwort zu erhalten, die ein Feld ernähren hat mit „test1“ genannt, und es sollte auch ein Feld „test2“ fehlt, versucht Ive die AbfrageVerwendung von fehlenden und vorhandenen Filter zusammen in einer einzigen Abfrage

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

Die obige Abfrage alle Felder zurückgibt, welche die hat Feld "test1" und es gibt auch Feeds zurück, die Feld "test2" fehlen, ich versuche, die Antwort einzuschränken, da ich nur Feeds möchte, die beide Bedingungen erfüllen.

Antwort

24

Sie können zwei oder mehrere Filter mit bool filter:

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

das funktioniert !! Danke vielmals!!!! :) – sam

Verwandte Themen