GET dspdocs/_search
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": ["must_term1", "must_term2"],
"must_not": ["must_not_term", "must_not_term2"]
}
},
"query": {
"match": {
"text": {
"query": "query_term",
"operator": "or"
}
}
}
}
}
}
Ich versuche, die obige Abfrage auszuführen und ich erhalte den folgenden Fehler:gefilterte Abfragefehler
"type": "query_parsing_exception",
"reason": "[_na] query malformed, must start with start_object",
Ich weiß, das bedeutet, dass meine Frage richtig geschrieben wurde nicht oder ich habe es vermasselt Irgendeine Ordnung irgendwo, aber für das Leben von mir, ich kann nicht herausfinden, wo ich falsch gelaufen bin.
Ich versuche im Grunde, alle Dokumente herauszufiltern, die die Muss-Begriffe nicht enthalten und die must_not-Begriffe enthalten. Dann suche ich innerhalb des gefilterten Sets nach allen Dokumenten, in denen der query_term enthalten ist.
(ich die Filterung zunächst die Geschwindigkeit der Suche leicht zu erhöhen)
Können Sie ein Beispiel von 'must_term1' und' must_not_term' gegeben? Sind sie Termabfragen oder nur ein 'query_term'? – keety
Sie sind nur Zeichenfolgen, nur benötigt, um sie in Termabfragen wie pickypg unten gezeigten konvertieren und es funktioniert! –