我正在使用 elasticsearch 7.5 和 NEST 客户端。
我想对查询进行排序,如您所知,默认情况下是 A..Za..z。我希望它不区分大小写。
我正在尝试使用归一化器,如此处所述
PUT /testindex
{
"settings": {
"analysis": {
"normalizer": {
"case_insensitive": {
"filter": "lowercase"
}
}
}
}
}
然后我可以在映射中使用它:
PUT /testindex/_mapping/testmapping
{
"properties": {
"Id": {
"type": "keyword"
},
"Name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"normalizer": "case_insensitive"
}
}
}
}
}
当我尝试在 C# NEST 客户端上执行此操作时出现的问题:
client.Indices.Create("testindex", e => e
.Settings(s => s
.Analysis(a => a
.Normalizers(n => n.Custom("case_insensitive",c => c.Filters("lowercase")))))
.Map(m => m
.Properties(p => p
.Text(st => st.Name("Name")
**.NORMALIZER**)))
);
无法在 Name 属性字段中添加规范器。
有任何想法吗?另一种有效的方法?
太感谢了。