5
Ich versuche Elasticsearch zu lernen, um es in meiner Rails App hinzuzufügen. Ich möchte eine multi_match Abfrage in zwei Felder auszuführen (als ob sie nur ein einzelnes Feld waren) und haben auch einen Filter auf ein anderes Feld (Status), die auf 1.ElasticSearch mit multi_match AND bool
response = Wine.search({
query: {
multi_match: {
query: "test",
fields: ["winery", "name"]
},
bool: {
must: {
term: { status: 1 }
},
should: [],
minimum_should_match: 1
}
}
})
Der Fehler ist gleich sein müssen:
"fields\":[\"winery\",\"name\"]},\"bool\":{\"must\":{\"term\":{\"status\":1}},\"should\":[],\"minimum_should_match\":1}}}]]]; nested: ElasticsearchParseException[Expected field name but got START_OBJECT \"bool\"]; }]","status":400}
Was ist falsch in der Anfrage? Wie man ein multi_match UND ein BOOL zusammen durchführt?
perfekte Antwort! Vielen Dank ! –
Leider ist die Antwort für ElasticSearch 5.x nicht mehr gültig, die aktualisierte Dokumentationsseite hilft auch nicht viel. Wissen Sie, wie man eine multi_match-Abfrage mit Filtern auf die neuen "bool" -Abfragen umstellt? – Overbryd
Ich habe die Antwort mit einer Abfrage aktualisiert, die mit Elasticserarch 5.x funktioniert. Weitere Informationen finden Sie in der bool-Abfrage-Dokumentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html#query-dsl-bool-query –