Es 模糊查询 match,wildcard

Es 模糊查询 match,wildcardEs 模糊查询的方式要求 Es 查询 查询工单信息 输入 测试 查出 form name 为字段中有查询出含有符合内容的数据 match 分词模糊查询 比如 Everythingwi Alliswell 会被分词一个一个单词 不是单个字母 from 0 size 20 query bool should term f

 

Es 模糊查询的方式

 

要求:

 Es查询:

Es 模糊查询 match,wildcard

 

查询工单信息, 输入 “测试”,查出 form_name 为字段中有查询出含有符合内容的数据

 

 

match:分词模糊查询:

比如“Everything will be OK, All is well”,会被分词一个一个单词(不是单个字母)

{ "from": 0, "size": 20, "query": { "bool": { "should": [{ "term": { "form_name": "will" } } ] } } } 

 

match_phrase :短语模糊查询

match_phrase是短语搜索,即它会将给定的短语(phrase)当成一个完整的查询条件。

比如查询 “Everything will”,会当成一个完整的短语进行查询, 会查出含有该查询条件的内容。

GET /basic_index*/_search { "from": 0, "size": 20, "query": { "bool": { "should": [{ "match": { "form_name": "Everything will" } } ] } } } 

如果是查询单个字母,match就不管用了,那该如何处理呢?

 

wildcard:通配符模糊查询:

?

匹配任意字符

*

匹配0个或多个字符

 

 

GET /basic_index*/_search { "size": 20, "from": 0, "query": { "bool": { "should": [{ "wildcard": { "form_name": "*very* } }] } } } 

 记录是存在的,但是没有查出来? 因为分词的影响,添加keyword 进行处理

 { "wildcard": { "form_name.keyword": "*very*" } } 

Wildcard 性能会比较慢。如果非必要,尽量避免在开头加通配符 ? 或者 *,这样会明显降低查询性能

如果查询的内容非空,怎么处理? 直接用*

{ "wildcard": { "form_name": "*" } } 

 

总结:

  Es 模糊查询, 分词的用match; 短语的用match_phrase;查询任意的,用wildcard通配符,注意查询的内容是否分词,分词的添加keyword,查询非空的情况,用*。

     关联文章:  Es 精确查询

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231521.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 刚重装的win7系统不能上网(深度系统安装步骤)

    SDN网络系统之Mininet与API详解Mininet是轻量级的软件定义网络系统平台,同时提供了对OpenFlow协议的支持。本文主要介绍了Mininet的相关概念与特性,并列举的Mininet自定义网络及参数网络拓扑示例,以及相关重要执行文件的分析,帮助用户更好的理解与使用Mininet技术。现在就开始免费试用SDN与Minine

    2022年4月14日
    53
  • vue解决跨域问题(Vue-CLI)[通俗易懂]

    vue解决跨域问题(Vue-CLI)[通俗易懂]Vue项目中,使用反向代理解决跨域问题,首先在vue项目的根目录下创建vue.config.js文件,然后配置vue.config.js文件,只需两步即可解决跨域问题。

    2025年12月12日
    2
  • vue常用命令

    vue常用命令vue常用命令

    2022年4月22日
    62
  • pycharm修改pip源为清华源-提高下载速度

    pycharm修改pip源为清华源-提高下载速度国内pip源:清华大学https://pypi.tuna.tsinghua.edu.cn/simple/在使用pycharm时,打开avaiablepackegs,点击ManageRepositories。点右上方的绿色加号,添加清华源即可(图中三个源:原始,清华,阿里),也可以只使用清华源:在添加包页面进行刷新,看到下载地址改变即可如果想使用命令行pip命令进行下载:使用pip的时候在后面

    2022年6月4日
    293
  • 最全静态网页模板网站下载_网页首页内容模板

    最全静态网页模板网站下载_网页首页内容模板前言最近好多人私信我:我学了不久前端,想要用一些项目实战来练练手。那么,我以后将定期更新静态网页实战,专用于提供初学者的练习。那么这次博客为大家提供一些模板网站,希望初学者借鉴和学习优质资源:以下网站对于初学者的作用:提供免费的静态网页下载提高自己的css+html5设计水平http://sc.chinaz.com/moban/“站长素材”网站中包括大量的免费模板,可任意下载。…

    2025年9月15日
    5
  • 高级shell脚本编程指南_python的快速入门

    高级shell脚本编程指南_python的快速入门文章目录1.shell简介 1.1什么是shell 1.2shell脚本 1.3运行shell脚本 1.4shell注释 1.5shell编写的基本步骤 2.shell变量 2.1命名变量 2.2使用变量 2.3变量类型 2.4变量操作 3.shell字符串 3.1字符串类型 3.2字符串操作 4.shell数组 4.1定义数组 4.2数组操作 5.shell传递参数 6.shell运算符

    2022年10月3日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号