matchQuery与termQuery区别:

matchQuery:会将搜索词分词,再与目标查询字段进行匹配,若分词中的任意一个词与目标字段匹配上,则可查询到。

termQuery:不会对搜索词进行分词处理,而是作为一个整体与目标字段进行匹配,若完全匹配,则可查询到。

各种term query的 QueryBuild 构建 官方文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-query.html

1、term query 分词精确查询,查询hotelName 分词后包含 hotel的term的文档

QueryBuilders.termQuery("hotelName","hotel")

2、terms Query 多term查询,查询hotelName 包含 hotel 或test 中的任何一个或多个的文档

QueryBuilders.termsQuery("hotelName","hotel","test")

3、range query
范围查询 查询hotelNo

QueryBuilders.rangeQuery("hotelNo") .gt("10143262306") //大于 10143262306 .lt("101432623062055348221")//小于 101432623062055348221 .includeLower(true) //包括下界 .includeUpper(false); //包括上界

4、 exist query 查询字段不为null的文档 查询字段address 不为null的数据

QueryBuilders.existsQuery("address")

5、missing query
返回 没有字段或值为null或没有值的文档

java client 该方法已经标记为过时,推荐用exist代替 如下 existsQuery BoolQueryBuilder#mustNot(QueryBuilder) QueryBuilders.missingQuery("accountGuid") 等同QueryBuilders.boolQuery().mustNot(QueryBuilders.existsQuery("accountGuid"));

6.prefix query 匹配分词前缀 如果字段没分词,就匹配整个字段前缀

QueryBuilders.prefixQuery("hotelName","花园")

7、wildcard query 通配符查询,支持* 任意字符串;?任意一个字符

QueryBuilders.wildcardQuery("channelCode","ctr*") QueryBuilders.wildcardQuery("channelCode","ctr?")

8、regexp query 正则表达式匹配分词,正则表达式自己写吧 略

9、 fuzzy query 分词模糊查询,通过增加fuzziness 模糊属性,来查询term 如下 能够匹配 hotelName 为 te el tel前或后加一个字母的term的 文档 fuzziness 的含义是检索的term 前后增加或减少n个单词的匹配查询,

QueryBuilders.fuzzyQuery("hotelName", "tel").fuzziness(Fuzziness.ONE)

10、type Query 含义不是很理解,通过代码也还暂未理解 英文原文:Filters documents matching the provided document / mapping type.

QueryBuilders.typeQuery("channelCode")

11、idx Query 根据ID查询

QueryBuilders.idsQuery().addIds("exchange_operate_monitor_db$32293","exchange_operate_monitor_db$32294")

ElasticSearch的matchQuery与termQuery相关推荐

  1. 关于全文搜索elasticsearch中matchQuery和termQuery的区别

    如题,本文主要讲关于全文搜索elasticsearch中matchQuery和termQuery的区别,附带一点其它查询用法. 准备工作,下载相关jar包,本文所有jar包列表: apache-log ...

  2. es的query及filter

    为什么80%的码农都做不了架构师?>>>    ##query与filter的合并 Queries and filters merged 将filter的api列为deprecate ...

  3. Elasticsearch安装及SpringBoot整合ElasticSearch

    一.Elasticsearch基本概念 Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的 1).对比关系 索引库(indices)->Da ...

  4. ElasticSearch详细笔记( 从入门到入土)

    文章目录 1.ElasticSearch概述 1.1 Elasticsearch 是什么 1.2 全文搜索引擎 1.3 Elasticsearch And Solr 2. ElasticSearch安 ...

  5. ElasticSearch理论及实操

    1. 全文检索 1.1 全文检索流程 主要分两大部分:创建索引和查询索引 1.2 全文检索概念 在MySQL中查询某条记录使用的一定是列名,也就是在创建数据库时已经写死的列名名称.在查询时,使用该列名 ...

  6. 爬梯:ElasticSearch分布式搜索引擎

    学习资料:狂神说 ElactisSearch 7.6.2 ElasticSearch 分布式搜索引擎 1. 概述 1.1 ELK ELK是ElasticSearch.Logstash.Kibana三大 ...

  7. ElasticSearch Java Api(四) -删除索引

    删除可以是删除整个索引库,也可以根据文档id删除索引库下的文档,还可以通过query查询条件删除所有符合条件的数据. 一.删除整个索引库 下面的例子会删除indexName索引: DeleteInde ...

  8. Elasticsearch就是这么简单

    一.前言 最近有点想弄一个站内搜索的功能,之前学过了Lucene,后来又听过Solr这个名词.接着在了解全文搜索的时候就发现了Elasticsearch这个,他也是以Lucene为基础的. 我去搜了几 ...

  9. 使用ElasticSearch进行可扩展搜索

    当我上高中时, google只是一个名词,代表了一个非常庞大的数字. 今天,我们有时将google用作动词,与在线浏览和搜索同义,并且我们也用它来指代同名公司. 通常会调用" Papa Go ...

最新文章

  1. 使用SQL Server维护计划实现数据库定时自动备份
  2. 错误602,未能在sysindexes中找到数据库 的解决办法
  3. 一篇演讲 By 浙江大学数学系主任刘克峰
  4. Mysql函数示例(如何定义输入变量与返回值)
  5. Kattis - icpccamp ICPC Camp(二分+贪心)
  6. spring RedisTemplate 缓存
  7. 【优化算法】广义正态分布优化算法(GNDO)【含Matlab源码 1531期】
  8. redis 多进程_Redis 持久化
  9. 字符串缓冲区和字符串构造器
  10. Android程序中如何启动浏览器
  11. Oracle数据库岗位,Oracle数据库岗位职责
  12. Git 常用记录(删除commit操作/挑拣/删除仓库)
  13. 计算机英语趣味知识,看段子,学英语,懂点计算机知识才能看懂哦!
  14. Dreamweaver制作简易的拼图游戏教程
  15. springboot企业人力资源管理系统毕业设计源码291816
  16. Kotlin学习(4):编码规范
  17. 模拟IC芯片设计开发的流程
  18. Web渗透测试----1、Web安全学习导图
  19. 大众车功能码与地址码大全(英/中)
  20. 递归算法的空间复杂度

热门文章

  1. JNCIE vs CCIE[战况不断更新]
  2. android8.1模拟器 黑屏,Win 8/8.1系统使用天天安卓模拟器无法开启虚拟化解决方法...
  3. 轮播图Swiper小白点(分页器)与图片不同步即失效问题Vue
  4. 2014年苹果十大事件回顾:得大过失亦或是反之?
  5. 如何自制DIY电视天线【方法】
  6. 3721病毒杀除方法详解
  7. 什么是http协议(二)
  8. 深拷贝和浅拷贝开发常用方法总结
  9. 移动端点击拨打电话功能
  10. win7打印机不显示服务器错误,打印机连接不上,教你win7连接打印机提示错误0x00000002的解决教程...