我创建了一个索引:
PUT members
{
"settings":{
"number_of_shards":1,
"analysis":{
"analyzer":{
"accentedNames":{
"tokenizer":"standard",
"filter":[
"lowercase",
"asciifolding"
]
},
"standardNames":{
"tokenizer":"standard",
"filter":[
"lowercase"
]
}
}
}
},
"mappings":{
"member":{
"properties":{
"id":{
"type":"text"
},
"name":{
"type":"text",
"analyzer":"standardNames",
"fields":{
"accented":{
"type":"text",
"analyzer":"accentedNames"
}
}
}
}
}
}
}
假设某些文档在此集合中(编辑):
我想得到这个结果: 如果我想获取名为“Maéllys”的文档,那么我希望将“MaéllysRichard”和其他具有相同分数的最佳匹配。
我要做的是将分析仪用于这样的请求:
GET members/member/_search
{
"query":{
"multi_match" : {
"query" : "Maéllys",
"fields" : [ "name", "name.accented" ]
}
}
}
“MaéllysRichard”的得分最高。 “ Ma(ê|ë|é|è)llys Richard”文档的得分高于“ Maellys Richard”文档。
有人可以帮助我吗?
谢谢。