Non riesco a capire perché le mie ricerche siano sensibili al maiuscolo/minuscolo. Tutto quello che ho letto dice che ES è insensibile per impostazione predefinita. Ho mappature che specificano l'analizzatore standard per l'indicizzazione e la ricerca, ma sembra che alcune cose sono ancora case sensitive - vale a dire, jolly:L'insensibilità delle maiuscole non funziona
"query": {
"bool": {
"must": [
{
"wildcard": {
"name": {
"value": "Rae*"
}
}
}
]
}
Questa fallisce ma "rae *" funziona come voleva. Devo usare il carattere jolly per le ricerche di tipo "inizia con" (presumo).
sto usando nido da un'applicazione .Net e sto specificando gli analizzatori quando ho creare l'indice così:
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 questo caso si sta usando il semplice analizzatore ma quello standard ha lo stesso risultato.
La mappatura si presenta così:
name: {
type: string
analyzer: simple
store: yes
}
Chiunque ha ottenuto tutte le idee che cosa è sbagliato qui?
Grazie
Con una versione più recente di ES (2.3) è possibile utilizzare Completion Suggester per questo. – myusuf
ho lo stesso problema. anche se provato "query_string" non funziona in ES 5.1, ma ha funzionato in 2.3. !!!! – Telebh