Niewrażliwość na wielkość liter nie działa
Nie mogę zrozumieć, dlaczego w moich poszukiwaniach rozróżniana jest wielkość liter. Wszystko, co przeczytałem, mówi, że ES jest domyślnie niewrażliwy. Mam odwzorowania, które określają standardowy analizator do indeksowania i wyszukiwania, ale wydaje się, że niektóre rzeczy są nadal rozróżniane - tzn. Wieloznaczne:
"query": {
"bool": {
"must": [
{
"wildcard": {
"name": {
"value": "Rae*"
}
}
}
]
}
To się nie powiedzie, ale „rae *” działa zgodnie z oczekiwaniami. Muszę używać symboli wieloznacznych do wyszukiwania typu „zaczyna się od” (zakładam).
Używam NEST z aplikacji .Net i określam analizatory podczas tworzenia indeksu w ten sposób:
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()));
W tym przypadku używa prostego analizatora, ale standardowy ma ten sam wynik.
Mapowanie wygląda tak:
name: {
type: string
analyzer: simple
store: yes
}
Ktoś ma jakieś pomysły, co tu jest nie tak?
Dzięki