2017-06-11 5 views
0

Ich muss Suchleiste in meiner Anwendung hinzufügen. Die Suche sucht nach Vorname und Nachname. Ich weiß nicht, wie man die elastcsearch-Abfrage erstellt. Vorname und Nachname sind zwei getrennte Felder. Ich bin ziemlich neu in es.Multi-Feld-Suche in elasticsearch

Beispiel: Vorname: John Nachname: Joshua

Suchleiste Zeichenfolge für die oberen Ergebnisse: John Jo John Jos John Josh Joshua John Joshua Joh ...

Antwort

-1

Verwenden Sie die nächste Abfrage:

GET /_search { 
    "query": { 
    "query_string" : { 
     "query" : "firstName:jhon 
      AND lastName: Lennon" 
     } 
    } 
    } 
0

Sie können verwenden die Prefix Abfrage in Ihrer Suche. Stimmt mit Dokumenten überein, deren Felder Begriffe mit einem angegebenen Präfix enthalten (nicht analysiert). Die Präfixabfrage entspricht Lucene Prefix Query. Abfragestruktur ist wie folgt:

{ 
    "query": { 
     "bool": { 
      "must": [ 
       { 
        "prefix": { 
         "firstname": "jo" 
        } 
       }, 
       { 
        "match": { 
         "lastname": "jo" 
        } 
       } 
      ] 
     } 
    } 
} 

Sie keine Platzhalter versuchen, da sie nicht in dieser Suche wirksam sein wird