我正在尝试使用 NEST c# 客户端在 ElasticSearch 中进行一个没有重音的查询,我的数据有带有重音的葡萄牙语拉丁词。见下面的代码:
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")))
);
这次搜索没有找到任何东西。我在该索引上的数据包含许多标题,例如:“ São Cristóvan”、“ São Gonçalo”。
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);
如何使用 ElasticSearch查询“ sao ”并找到“ são ”?
我认为必须创建具有正确属性的索引,但我已经尝试了许多设置,例如。
或在原始模式下:
{ “idx”:{ “设置”:{ “index.analysis.filter.jus_stemmer.name”:“巴西人”, “index.analysis.filter.jus_stop._lang_”:“巴西” } } }
如何进行搜索并忽略重音符号?
谢谢朋友,