文章40 | 阅读 24284 | 点赞0
# "*" 表示匹配任意字符
GET /lib4/user/_search
{
"query": {
"wildcard": {"name": "赵*"}
}
}
# "?" 表示匹配任意一个字符
GET /lib4/user/_search
{
"query": {
"wildcard": {"name": "li?i"}
}
}
fuzzy实现模糊查询
uzzy 查询是 term 查询的模糊等价。
a、是 包含(contains) 操作,而非 等值(equals) (判断)。
b、不知道分词器的存在,所以不会去分词,
c、所谓的包含是文档分词结果某个分词是否包含,不是整个文档是否包含
d、因为是在分词结果中匹配,所以大写要转换为小写,大写字母是匹配不到
value:查询的关键字
boost:查询的权值,默认值是1.0
min_similarity:设置匹配的最小相似度默认值为0.5, 对于字符串,取值为0-1(包括0和1);对于数值,取值可能大于1;对于日期型取值为1d,1m等,1m代表一个月 1d就代表1天
prefix_length:指明区分词项的共同前缀长度,默认是0
max_expansions:查询中的词项可以扩展的数目,默认可以无限大
GET /lib4/user/_search { "query":{ "fuzzy":{ "interests":"唱歌" }}}
GET /lib4/user/_search { "query":{ "fuzzy": { "interests":{ "value":"喝酒" }}}
GET /lib4/user/_search
{
"query": {
"fuzzy": {
"interests": {"value": "喝酒"}
}
}
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/ywl470812087/article/details/105010942
内容来源于网络,如有侵权,请联系作者删除!