Ich kann nicht herausfinden, warum meine Suchen Groß-und Kleinschreibung beachten. Alles, was ich gelesen habe, sagt, dass ES standardmäßig unempfindlich ist. Ich habe Zuordnungen, die den Standard-Analysator für die Indizierung festlegen und suchen, aber es scheint, wie einige Dinge noch Groß- und Kleinschreibung sind - dh Wildcard:Case Insensitivity funktioniert nicht
"query": {
"bool": {
"must": [
{
"wildcard": {
"name": {
"value": "Rae*"
}
}
}
]
}
Dies scheitert aber „rae *“ funktioniert wie gewünscht. Ich brauche Wildcard für 'Starts mit' Typ Suchen (ich vermute).
Ich verwende NEST aus einem .Net-App und bin unter Angabe der Analysatoren, wenn ich den Index so zu erstellen:
var settings = new IndexSettings();
settings.NumberOfReplicas = _configuration.Replicas;
settings.NumberOfShards = _configuration.Shards;
settings.Add("index.refresh_interval", "10s");
settings.Analysis.Analyzers.Add(new KeyValuePair<string, AnalyzerBase>("keyword", new KeywordAnalyzer()));
settings.Analysis.Analyzers.Add(new KeyValuePair<string, AnalyzerBase>("simple", new SimpleAnalyzer()));
In diesem Fall ist es das einfache Analysegerät unter Verwendung der Standard jedoch hat man das gleiche Ergebnis.
Die Abbildung sieht wie folgt aus:
name: {
type: string
analyzer: simple
store: yes
}
Wer hat irgendwelche Ideen, was ist hier los?
Dank
Mit mehr RecEnd Version von ES (2.3) Sie Completion Suggester dafür verwenden können. – myusuf
Ich habe das gleiche Problem. selbst wenn versucht "query_string" es funktioniert nicht in ES 5.1, aber es funktionierte in 2.3. !!!! – Telebh