Ich versuche, eine einfache Abfrage für zwei bestimmte Felder zu tun, und das Handbuch und Google erweist sich als wenig hilfreich. Beispiel unten sollte es ziemlich klar machen, was ich machen möchte.Eine einfache UND-Abfrage mit Elasticsearch
{
"query": {
"and": {
"term": {
"name.family_name": "daniel",
"name.given_name": "tyrone"
}
}
}
}
Als Bonus Frage, warum es "Daniel Tyrone" mit "Daniel" findet, aber nicht, wenn ich für "Daniel" zu suchen. Es verhält sich wie eine wirklich seltsame Anti-Case-Sensitive-Suche.
Sie meinen Fall sensible Frage falsch verstanden, ich sage es ist wie ein inverser Groß- und Kleinschreibung Suche verhalten, findet es nicht " Daniel "wenn ich mit" Daniel "suche –
Das Beispiel, das du angegeben hast, gibt mir einen Fehler> http://pastium.org/view/c0efa58b6b7689bfff5a9f480c01ed01 –
Gah, tut mir leid. Ich sollte niemals Fragen zu SO vor dem Kaffee beantworten. Ich dachte an den Und-Filter, wenn in Wirklichkeit ES nur die Bool-Abfrage hat. Je nach Anwendungsfall können Sie auch den Bool- oder Und-Filter verwenden. – Zach