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',但你還沒有將它添加到你的映射中。 –