QueryBuilder queryBuilder = QueryBuilders.termQuery("字段","term值");

SearchResponse response = client.prepareSearch("索引名称")

.setTypes("type名称")

.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)

.setQuery(queryBuilder)

.execute()

.actionGet();

//获取命中数

System.out.println(response.getHits().totalHits());

//获取响应字符串

System.out.println(response.toString());

//遍历查询结果输出相关度分值和文档内容

SearchHits searchHits = response.getHits();

for(SearchHit searchHit : searchHits){

System.out.println(searchHit.getScore());

System.out.println(searchHit.getSourceAsString());

}

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")

java returnAddres_JavaClient 查询ES-(重要)相关推荐

  1. Elasticsearch 使用java分页查询条数超过1w的解决办法 -search_after方式

    1.需求:job跑批每隔5分钟查询es数据取出并进行推送. 问题:原使用java分页查询es.当大于1w时无法取出后续数据造成了数据丢失. 使用scroll_id查询性能消耗太大不适应此场景. es调 ...

  2. java代码查询elasticsearch索引

    用java代码查询ES索引 public class ElasticsearchSearchTest {public static void main(String[] args) throws IO ...

  3. Java查询ES (elasticsearch) 对短句进行关键词摘要 并分词查询

    项目场景: 提示:根据用户最近浏览的文章标题进行关键词摘要,并根据结果,查询ES 这里关键的是根据内容获取关键词摘要的方法 关键词摘要 使用IK中文分词 pom文件 <!--中文分析器--> ...

  4. es java api 子查询,criteria 子查询 es

    elasticsearch.core.query中Criteria类各个方法详解--CSDN... 2016年2月25日 asticsearch.core.query中Criteria类各个方法详解 ...

  5. elasticsearch java api查询

    /** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */ QueryBuilder 是es中提供的一个查询接口, 可以 ...

  6. Java中使用es条件构造器BoolQueryBuilder

    前言 由于es在java中查询没法像mybatis那样方便,而且es的构造器使用也比较繁琐,理解不是很方便,所以写一篇文章来记录es构造器BoolQueryBuilder查询时各种条件的构造的正确姿势 ...

  7. MySQL中查询的看到的日期和Java程序查询出来的日期差了几个小时

    在Navicat中执行查询语句: Java程序中获取到的日期 不知道是什么导致了这样的差异 查看MySQL的当前时间 没有错啊,和我本机电脑时间差别不到一分钟 查询MySQL设置的时间区域 CST 是 ...

  8. Java对象查询方法:Jxpath(转译)

    Java对象查询方法:Jxpath(转译) 在JAVA对象中,如何进行有效的查询呢,这一直是个很值得探讨的问题.大家知道,在XML中,要找元素如何找呢?没错,通过XPATH 是个不错的办法,同样道理, ...

  9. java文件流插入数据库_使用Java流查询数据库

    java文件流插入数据库 在本文中,您将学习如何编写纯Java应用程序,这些应用程序能够处理现有数据库中的数据,而无需编写一行SQL(或类似的语言,例如HQL),而无需花费数小时将所有内容放在一起. ...

最新文章

  1. python实现洗牌算法_为什么渔民耶茨最有用的洗牌算法?
  2. Facebook 对 Memcache 伸缩性的增强
  3. C++继承的基本语法
  4. 线程的应用-实现Runnable接口创建线程
  5. 数据追加用什么函数_RL用算法发现算法:DeepMind 数据驱动「价值函数」自我更新,14款Atari游戏完虐人类!...
  6. 按窗口文件php代码,在Windows命令行窗口中输入并运行PHP代码片段(不需要php文件)的方法...
  7. haproxy负载均衡_Haproxy+keepalived高可用集群实战
  8. string与string.h的区别
  9. jboss eap6.1(4)(部署应用)
  10. 【金融】【python】CAPM实证分析
  11. 2021浙江高考成绩排名查询,2021年浙江高考成绩排名查询,第一批分数线23日公布...
  12. matlab imf1,NGPM_v1.4y GA多目标优化的程序 带约束 里面有教程 matlab 272万源代码下载- www.pudn.com...
  13. java.util.concurrent.atomic.AtomicBoolean 源码
  14. vue-router配置
  15. 错误解决办法:exec /usr/lib/ssh/ssh-askpass : No such file or directory error.
  16. win7 64位 安装oiracle 32位 plsql问题
  17. iOS 各种项目源码集
  18. 环境配置 python 3.6+Anaconda+cuda9.0+cudNN7.0+Tensorflow
  19. HDU - 4622 Reincarnation
  20. Error: Cannot find module 'util-deprecate'

热门文章

  1. wxWidgets:从互联网下载文件
  2. boost::lower_bound相关的测试程序
  3. boost::python::converter::is_object_manager相关的测试程序
  4. Boost.Flyweight 复合设计示例
  5. boost::visit_each的用法实例
  6. no exceptions support的测试程序
  7. ITK:将所有像素的总和缩放为常数
  8. ITK:从标量图像创建矢量图像
  9. VTK:图片之Cast
  10. OpenCV基本mat重建的实例(附完整代码)