Behebung von ElasticSearch 'no [query] registered for [missing]'
English
Deutsch
Problem:
Du versuchst, eine ElasticSearch-Abfrage wie
query-missing.json
{
"query": {
"missing" : { "field" : "myfield" }
}
}auszuführen, um Dokumente zu finden, die myfield nicht haben.
Allerdings siehst du nur eine Fehlermeldung wie diese:
elasticsearch-error.txt
elasticsearch.exceptions.RequestError: RequestError(400, 'parsing_exception', 'no [query] registered for [missing]')Lösung
Wie die ElasticSearch-Dokumentation uns sagt, gibt es keine missing-Abfrage! Du musst stattdessen eine exists-Abfrage innerhalb einer must_not-Klausel verwenden:
query-exists-mustnot.json
{
"query": {
"bool": {
"must_not": {
"exists": {
"field": "myfield"
}
}
}
}
}Check out similar posts by category:
Databases, ElasticSearch
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow