ElasticSearch学习

文章40 |   阅读 18759 |   点赞0

来源:https://blog.csdn.net/ywl470812087/category_9621251.html

ElasticSearch模糊查询(中文检索)

x33g5p2x  于2021-12-19 转载在 其他  
字(0.9k)|赞(0)|评价(0)|浏览(600)
# "*" 表示匹配任意字符
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": "喝酒"}
    }
  }
}

相关文章