So filtern Sie Dokumente in elasticsearch 2.2, bevor Sie eine Abfrage ausführen. Ich habe diese Seite referenziert, konnte aber immer noch keine korrekte Anfrage stellen.Filter in elasticsearch 2.2
https://www.elastic.co/guide/en/elasticsearch/reference/2.2/query-filter-context.html
{
"size" : 9999,
"query" : {
"bool" : {
"filter" : {
"bool" : {
"must" : [ {
"exists" : {
"field" : "dvd"
}
} ]
}
},
"should" : [{
"bool" : {
"must" : [ {
"match" : {
"rec" : {
"query" : "CKS",
"type" : "boolean"
}
}
}, {
"match" : {
"date" : {
"query" : "2016-03-09",
"type" : "boolean"
}
}
} ]
}
}]
}
}
}
Das ist, was ich .. ich mit jeweils 2 Must-Klausel habe viel Should Klauseln zu tun versuchen. Eine beliebige der Klausel sollte übereinstimmen, um das Dokument abzurufen. Ich habe nur eine Klausel enthalten, um es einfach zu machen. Die Abfrage funktioniert einwandfrei. Ich möchte Filter darüber anwenden. Dokumente vor dem Abfragen filtern Aber das funktioniert nicht.
Ich verwende Elasticsearch 2.2 ... Bitte lassen Sie mich wissen, wie man Dokumente in dieser Version von elasticsearch filtert.
Ich denke, Post-Filter ist für andere Zwecke.
Was ist, wenn ich zwei existieren Filter im OR-Zustand anwenden möchte. ie) Wenn eines der Felder in exists exists existiert, filter das doc. Es ist nicht notwendig, beide Felder zu haben. – user2526641