Я пытаюсь сделать запрос в ElasticSearch с клиентом NEST С# запросом без акцента, в моих данных есть португальское латинское слово с акцентом. См. код ниже:
var result = client.Search<Book>(s => s
.From(0)
.Size(20)
.Fields(f => f.Title)
.FacetTerm(f => f.OnField(of => of.Genre))
.Query(q => q.QueryString(qs => qs.Query("sao")))
);
Этот поиск ничего не нашел. Мои данные по этому индексу содержат много заголовков, таких как: "Сан Кристован", "Сан Гонсалу".
var settings = new IndexSettings();
settings.NumberOfReplicas = 1;
settings.NumberOfShards = 5;
settings.Analysis.Analyzers.Add("snowball", new Nest.SnowballAnalyzer { Language = "Portuguese" });
var idx5 = client.CreateIndex("idx5", settings);
Как я могу сделать запрос "sao" и найти "são" с помощью ElasticSearch?
Я думаю, что нужно создать индекс с правильными свойствами, но я уже пробовал много настроек, таких как.
или в режиме Raw:
{ "idx" : { "settings" : { "index.analysis.filter.jus_stemmer.name" : "brazilian", "index.analysis.filter.jus_stop._lang_" : "brazilian" } } }
Как я могу сделать поиск и игнорировать акценты?
Спасибо, друзья,