Es 模糊查询的方式

要求:

Es查询:

查询工单信息, 输入 “测试”,查出 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 精确查询

Es 模糊查询 match,wildcard相关推荐

  1. es模糊查询与精准查询混用、距离排序、返回距离

    es模糊查询与精准查询混用 QueryBuilder qb1 = QueryBuilders.matchPhraseQuery("XXXXXX1", "查询短语" ...

  2. es 模糊查询_ES系列11:Term-level queries 之 3种模糊查询和terms_set query

    [系统学es系列]请移步公众号! 带着问题学习才高效 1.wildcard query.prefix query.fuzzy query这3种模糊查询的异同点是什么? 2.如何使用 terms_set ...

  3. Elasticsearch】es 模糊查询导致Elasticsearch服务宕机

    本文为博主九师兄(QQ:541711153 欢迎来探讨技术)原创文章,未经允许博主不允许转载. 可以加我问问题,免费解答,有问题可以先私聊我,本人每天都在线,会帮助需要的人. 但是本博主因为某些原因, ...

  4. es模糊查询汉字的问题

    BoolQueryBuilder wildcardQuery模糊查询汉字有问题,在查询字段后加一个.keyword进行查询

  5. ES text/keyword match/term/模糊查询区别

    字段类型text的时候 首先"name": {"type":"text"}的时候,我们存入一条数据叫 零在金融 id为1 和另一条数据叫 金 ...

  6. ElasticSearch入门:使用ES来实现模糊查询功能

    ElasticSearch入门:使用ES来实现模糊查询功能 需求描述 方案设计 代码设计 测试中遇到的问题 总结与心得 需求描述 本文针对在工作中遇到的需求:通过es来实现模糊查询来进行总结:模糊查询 ...

  7. es java 模糊查询_java使用elasticsearch进行模糊查询-已在项目中实际应用

    java使用elasticsearch进行模糊查询 使用环境上篇文章本人已书写过,需要maven坐标,ES连接工具类的请看上一篇文章,以下是内容是笔者在真实项目中运用总结而产生,并写的是主要方法和思路 ...

  8. 关于解决MYSQL的like模糊查询效率的一种方案

    大家都知道like %suibin% 这种查询的效率极低,而MYSQL也建议不要这样模糊查询,常用的是把数据同步到CACHE里: 1.比如同步到ES里用ES模糊查询.或者同步数据到MongoDB实现模 ...

  9. Java分词工具模糊查询_Java如何使用elasticsearch进行模糊查询

    这篇文章主要介绍了java如何使用elasticsearch进行模糊查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用环境上篇文章本人已书写过 ...

最新文章

  1. win7查看电脑上openCV的版本
  2. c语言笔试面试大全,C语言笔试面试题大全.doc
  3. Java基础:异常机制
  4. 1.3 计划需求控制
  5. Yongkil Kwon:EOS具有当今世界上最多中心化的协议 | 独家专访
  6. ubuntu下安装各种软件
  7. android.process.media+sd,android P系统WRITE_MEDIA_STORAGE添加读写SD卡权限
  8. WIN10 如何修改 文件后缀名 设置后缀名可修改
  9. 在子MasterPage设置UserControl内的Web控件属性
  10. Gartner报告:2010年全球安全软件市场增长11%
  11. hdu1864--dp
  12. Android轉檔案到iphone,在 Mac 上要如何存取 Android 手機中的檔案,傳輸檔案沒問題...
  13. 如何建立低科技互联网
  14. lwj_C#_作业 ListT应用
  15. JScript.net
  16. .xz是什么文件怎么解压_如何解压缩 tar.xz 文件
  17. 正版win10如何重装系统|win10正版重装系统教程
  18. PaddleX快速实现图像分类训练
  19. pat1121 Damn Single
  20. python调用jsonrpc接口_微信小程序通过jsonrpc调用python服务端接口

热门文章

  1. android studio 实例代码,android studio学习之一(示例代码)
  2. 反射课后习题及做题记录
  3. 什么是IDU和ODU
  4. 脚本:自动下载安卓应用并安装到手机
  5. 【UEFI基础】EDK编译生成的二进制的结构
  6. 流程控制之顺数结构和选择结构
  7. mysql 4 字节存储问题_关于mysql存储过程存储4字节emoj的'\xF0\x9F\x98\x82' for column ``.``.`p_topicname`问题的解决办法...
  8. 2018深信服笔试-抓兔子 DP
  9. windows 连接蓝牙耳机失败 解决方法
  10. dojo学习日记(6)——dojo/_base/fx的 fadeOut()方法