0
返回不同的值,我有如下的Elasticsearch模糊查询:搜索模糊查询 - Elasticsearch
GET /resume/candidate/_search
{
"query": {
"fuzzy" : { "name" : {
"value": "Tam",
"fuzziness" : 2,
"max_expansions": 50 }
}
}
}
我的名字汤姆·罗伊,麦克斯韦在我的指数。名字汤姆匹配根据请求,但名字罗伊也被返回。这是怎么发生的? 的全名是:
罗伊中号洛夫乔伊III
汤姆Atwell的
另外,如果我的模糊性设置为1,我没有得到任何结果。汤姆不应该匹配,因为只有1个字符是不同的?
映射:
{
"resume": {
"aliases": {},
"mappings": {
"candidate": {
"properties": {
"name": {
"type": "text"
}
}
}
}
}
我也有一个分析器,但它未在名称字段中使用
分析器:
"analysis": {
"analyzer": {
"case_insensitive": {
"filter": [
"lowercase"
],
"tokenizer": "keyword"
}
}
}
是谭应该匹配和罗伊不应该。我认为这与你的'name'属性被分析的方式有关。你能提供你的映射吗? –
@MohammadMazraeh我已经添加了它们。你现在可以看看吗? – Sid1199
你已经定义了'case_insensitive',但你还没有将它添加到你的映射中。 –