2016-09-15 1 views
3

Ich bin ziemlich neu in der elastischen Suche und möchte eine Abfrage schreiben, die sich um zwei Felder kümmert. Ich meine, der Inhalt der Felder enthält die angegebene Teilzeichenfolge. Ich habe ein Dokument Felder enthält, wie folgt aus:Abfrage mit Übereinstimmung durch mehrere Felder

name: n 
tag: t 

Ich versuchte dies:

/_search -d ' 
{ 
    "query": { 
     "match": { 
      "name": "n", 
      "tag": "t" 
     } 
    } 
} 

Aber die Abfrageergebnisse in der folgenden Fehler:

[match] query parsed in simplified form, with direct field name, but included more options than just the field name, possibly use its 'options' form, with 'query' element?

Gibt es einen Weg zu tun das im elasticsearch?

Antwort

7

Sie benötigen zwei match Abfragen eingeschlossen in einer bool/must Abfrage, wie folgt aus:

{ 
    "query": { 
    "bool": { 
     "must": [ 
     { 
      "match": { 
      "name": "n" 
      } 
     }, 
     { 
      "match": { 
      "tag": "t" 
      } 
     } 
     ] 
    } 
    } 
} 
Verwandte Themen