ElasticSearch - Gibt den vollständigen Wert einer Facette für eine Abfrage zurück

Ich habe vor kurzem begonnen, ElasticSearch zu verwenden. Ich versuche, einige Anwendungsfälle zu vervollständigen. Ich habe ein Problem für einen von ihnen.

Ich habe einige Benutzer mit ihrem vollständigen Namen indiziert (z. B. "Jean-Paul Gautier", "Jean De La Fontaine").

Ich versuche, alle vollständigen Namen zu bekommen, die auf eine Anfrage antworten.

Zum Beispiel möchte ich, dass die 100 häufigsten vollständigen Namen mit "J" beginnen.

{
  "query": {
    "query_string" : { "query": "full_name:J*" } }
  },
  "facets":{
    "name":{
      "terms":{
        "field": "full_name",
        "size":100
      }
    }
  }
}

Das Ergebnis sind alle Wörter der vollständigen Namen: "Jean", "Paul", "Gautier", "De", "La", "Fontaine".

Wie bekomme ich "Jean-Paul Gautier" und "Jean De La Fontaine"? Die Option "post_filter" tut dies nicht, sondern schränkt nur die obige Teilmenge ein.

Ich muss konfigurieren, "wie funktioniert" diese Facette full_nameIch muss dieser aktuellen Abfrage einige Optionen hinzufügenIch muss ein "Mapping" machen (im Moment sehr dunkel)

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage