Für diejenigen, die ein Beispiel für beide ignore_unmapped
und unmapped_type
siehe my response here.
Beachten Sie, dass "ignore_unmapped" jetzt zugunsten von "unmapped_type" veraltet ist. Dies wurde im Rahmen von #7039 getan
From documentation: Vor 1.4.0 gibt es die ignore_unmapped boolean Parameter, die nicht genügend Information über die Art Wert zu entscheiden, zu emittieren, und hat nicht funktioniert für Cross-Index-Suche. Es wird weiterhin unterstützt, aber Benutzer werden dazu ermutigt, stattdessen zu dem neuen unmapped_type zu migrieren.
Standardmäßig schlägt die Suchanforderung fehl, wenn keine Zuordnung zu einem Feld zugeordnet ist. Mit der Option unmapped_type können Felder ignoriert werden, die keine Zuordnung haben und nicht nach ihnen sortieren. Der Wert dieses Parameters wird verwendet, um zu bestimmen, welche Sortierwerte ausgegeben werden sollen.Hier ist ein Beispiel dafür, wie es verwendet werden kann:
{
"sort" : [
{ "price" : {"unmapped_type" : "long"} },
],
"query" : {
"term" : { "user" : "kimchy" }
}
}
Wenn einer der Indizes, die abgefragt werden nicht eine Zuordnung für den Preis niederschlägt, dann wird Elasticsearch es behandeln, als ob es eine Abbildung des Typs lang war, mit Alle Dokumente in diesem Index haben keinen Wert für dieses Feld.
Ihre Frage/Antwort hat mein Problem gelöst - danke. Ich habe es bearbeitet, um es etwas zu generalisieren, fühlen Sie sich frei Rollback, wenn das nicht zu Ihnen passt. –
Referenz für die Handhabung dieses Problems [Elasticsearch Link] (https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-sort.html) – Ajeesh