先看现象
Es 8.1.0
- 查询语句
{
"query": {
"bool": {
"filter": [
{
"term": {
"type_name": {
"value": "打印机"
}
}
},
{
"term": {
"prop_name": {
"value": "型号"
}
}
}
],
"must": {
"fuzzy": {
"prop_value_text": {
"value": "你好",
"fuzziness": "2",
"max_expansions": 3
}
}
}
}
}
}
上面的结果和我搜索的值,一点儿瓜葛都没有
解决办法
我之前用的是
text
类型,有可能在进行匹配之前,es做了normal化,导致了搜索出现了不可思议的结果。
换成keyword
类型,可以解决这个问题
换成keyword
类型后,结果看起来正常了。