Ich habe ein Elasticsearch Repo und eine Anwendung, die Dokumente für das schaffen, was wir 'Assets' nennen. Ich muss verhindern, dass Benutzer "Assets" mit demselben "Titel" erstellen.Elasticsearch genau passenden Begriff
Wenn der Benutzer versucht, ein 'Asset' zu erstellen, frage ich das Repo mit dem Titel und wenn es eine Übereinstimmung gibt, wird eine Fehlermeldung für den Benutzer angezeigt.
Mein Problem ist, dass wenn ich den Titel abfrage bekomme ich mehrere Ergebnisse (für ähnliche Übereinstimmungen).
Das ist meine Abfrage so weit:
GET assets-1/asset/_search
{
"query": {
"match": {
"title": {
"query": "test",
"operator": "and"
}
}
}
}
Ich habe viele Datensätze mit dem Titel: 'test 1', 'test 2', 'test bla' und nur eine mit dem Titel 'Test'.
Aber ich bekomme alle oben genannten.
Gibt es eine Bedingung oder eine Eigenschaft, die ich der Abfrage hinzufügen muss, damit ich genau den Ausdruck finde?
danke + Val, das Feld war bereits "nicht_analysiert", aber der ".raw" Teil hat den Trick gemacht. – Yatiac
Super, froh, dass du es herausgefunden hast !! – Val
Noch eine Sache, gibt es sowieso, um es nicht Groß-und Kleinschreibung zu machen? – Yatiac