Aramalarımın neden büyük/küçük harfe duyarlı olduğunu anlayamıyorum. Okuduğum her şey, ES'nin varsayılan olarak duyarsız olduğunu söylüyor.Vaka duyarsızlığı çalışmıyor
"query": {
"bool": {
"must": [
{
"wildcard": {
"name": {
"value": "Rae*"
}
}
}
]
}
Bu başarısız ama "Rae *" olarak istediği işleri: joker, yani - ben indeksleme için standart analizörü belirtmek ve arama eşleştirmeleri var ama bazı şeyler hala küçük harfe duyarlı gibi görünüyor. 'Start-with' tipi aramalar için joker kullanmalıyım (varsayalım).
bir .NET uygulamasından ANDAE kullanıyorum ve böylece indeksi oluştururken analizörlerin belirterek ediyorum: basit analizörü kullanıyor Bu durumda
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()));
ancak standart bir aynı sonucu verir.
haritalama şuna benzer:
name: {
type: string
analyzer: simple
store: yes
}
Herkes sorun ne burada herhangi bir fikrin var mı?
Teşekkür
documentation itibaren
ES'nin daha recend sürümü (2.3) ile bunun için tamamlanması suggester kullanabilirsiniz. – myusuf
Aynı sorunu yaşıyorum. "query_string" denildiğinde bile ES 5.1'de çalışmaz, ancak 2.3'de çalıştı. !!!! – Telebh