{
"title" : "That Uselessly Amazing Title",
"author" : "Someone you have never heard of",
"url" : "http://www.theuselessweb.com",
"summary" : "a collection of useless websites",
"tag" : ["useless","maybe useful"]
}
Angenommen, ich habe ein Schema, das wie das oben gezeigte aussieht. Der Benutzer fordert die Anwendung auf, etwas "nutzlos" anzuzeigen.ElasticSearch durch mehrere Felder als Fuzzy-Abfrage
Wie schreibe ich eine Abfrage, die den Titel, die Zusammenfassung und die Tags für das Wort "nutzlos" als Fuzzy-Suche durchsucht?
ok, habe es zu arbeiten. Wenn ich "benutze" anstelle von "nutzlos" versuche, bekomme ich keine Ergebnisse. Warum ist das? Gibt es eine Möglichkeit, das auch zuzulassen? Teilstrings? –
Das hängt von den Analysatoren, Token-Filtern usw. ab, die Sie verwenden, um die Entitäten zu indizieren und dann die Art, wie Sie sie suchen. Angenommen, Sie verwenden den Standardanalysator (Englisch), wird Ihr Titel zuerst in Token "That", "Uselessly", "Amazing" und "Title" tokenisiert, dann wird jeder Token unabhängig analysiert. Für den Token "Uselessous" finde ich, dass der englische Standardanalysator "nutzlos" (Kleinbuchstaben) speichert. Wenn Sie also "verwenden" suchen, finden Sie keine Ergebnisse. Versuchen Sie, mit anderen Analysatoren zu spielen, vielleicht möchten Sie Ihre eigenen Token-Filter hinzufügen. Ich persönlich bevorzuge die von ElasticSearch.GL angegebenen! –
Ich denke, Sie werden den Edge-NGram-Tokenizer, gemischt mit dem Standard-Tokenizer, lieben. Denken Sie daran, dass die Reihenfolge der Token-Filter von Bedeutung ist –