Elasticsearch查询记录

  • 问题描述
  • 实现方式:QueryBuilders.boolQuery().should
  • es原生语句
  • 若多个字段同时查询怎么写
  • es原生语句

问题描述

用mysql语句写下查询示例:select name from table where name in(‘zhangsan’,‘lisi’,‘wangwu’) and name is null
用es语句实现这个查询


实现方式:QueryBuilders.boolQuery().should

QueryBuilders.boolQuery().should(QueryBuilders.termsQuery("name",list)).should(QueryBuilders.boolQuery().mustNot(QueryBuilders.existsQuery("name")));

解释:list存放的是name in(‘zhangsan’,‘lisi’,‘wangwu’);
mustNot(QueryBuilders.existsQuery(“name”)) 语句表示name is null


es原生语句

{"from": 0,"size": 10,"query": {"bool": {"should": [{"terms": {"name": ["zhangsan","lisi","wangwu"]}},{"bool": {"must_not": [{"exists": {"field": "name"}}]}}]}}
}

若多个字段同时查询怎么写

QueryBuilders.boolQuery().must(QueryBuilders.matchQuery("age", age)).must(QueryBuilders.boolQuery().should(QueryBuilders.termsQuery("name",list)).should(QueryBuilders.boolQuery().mustNot(QueryBuilders.existsQuery("name")));)

解释:用多个boolQuery连接,name条件要用must包住;

es原生语句

{"from": 10,"size": 10,"query": {"bool": {"must": [{"match": {"age": {"query": "18"}}},{"bool": {"should": [{"terms": {"name": ["zhangsan","lisi","wangwu"]}},{"bool": {"must_not": [{"exists": {"field": "name"}}]}}]}}]}}
}

记录下问题后续用到方便查找,也给需要的小伙伴

elasticsearch对单字段多条件查询相关推荐

  1. 初识ElasticSearch(5) -批量操作之bulk | 条件查询 | 其它查询

    1. bulk: 1.1. bulk语法: 1.2. bulk行为-增删改: 2. bulk-index批量插入: 3. bulk-update批量修改: 4. bulk-delete批量删除: 5. ...

  2. 单表 单字段多条件更新

    请问 这样多条件更新 如何写? update ods_dictionary set module_note='成功变更邮箱设置' where module_id=12 set module_note= ...

  3. jqGrid的单字段查询

    为什么80%的码农都做不了架构师?>>>    首先说明一下,什么是jqGrid的单字段查询.就是只能通过一个字段作为查询条件的查询.虽然大多数情况下,系统功能需要的查询,都是多个字 ...

  4. oracle中的单表查询,单字段与多字段排序

    -单表的查询学习 –查询表的所有数据 select *from 表名; *代表所有 select *from emp; –查询表中指定字段的值 :select 字段名1,字段名2,-from表名 se ...

  5. 【Elasticsearch】7.9 单字段支持的最大字符数

    1.概述 1.1 官网 官网:https://www.elastic.co/guide/en/elasticsearch/reference/current/ignore-above.html#ign ...

  6. es java match_java操作elasticsearch实现条件查询(match、multiMatch、term、terms、reange)...

    1.条件match query查询 //条件查询match query @Testpublic void test10() throwsUnknownHostException {//1.指定es集群 ...

  7. Elasticsearch 入门(1):基本概念,安装教程,索引的创建,查询,删除,主键查询,修改,添加,聚合查询,条件查询

    Elasticsearch 入门 基本概念 The Elastic Stack, 包括 Elasticsearch.Kibana.Beats 和 Logstash(也称为 ELK Stack).能够安 ...

  8. elasticsearch系列-子条件查询

    子条件查询 子条件查询又称为叶子条件查询,在特定字段中查询所指定值.在子查询中又分为Query Context和FilterContext. QueryContext 在QueryContext查询过 ...

  9. 深究|Elasticsearch单字段支持的最大字符数?

    在业务系统中,遇到过两个问题: 问题1:设置为keyword类型的字段,插入很长的大段内容后,报字符超出异常,无法插入. 问题2:检索超过ignore_above设定长度的字段后,无法返回结果. 思考 ...

最新文章

  1. laravel ajax返回json,Laravel validate error处理,ajax,json示例
  2. PHP中使用ActiveMQ实现消息队列
  3. JavaWeb 入门篇(3)ServletContext 详解 具体应用
  4. 服务器双向认证 原理,什么叫SSL双向认证 SSL双向认证过程是怎样的
  5. 力扣18. 四数之和(JavaScript)
  6. E 定向 牛客练习赛25
  7. 关于 IOS5 使用 position:fixed 与 scrollTo 共存的 bug
  8. maven安装配置之后mvn命令仍然无效的解决办法
  9. 豆瓣TOP250爬虫,数据分析项目实战——pyecharts
  10. Photoshop CS4 卡通角色的设计与绘制(2)
  11. QT开发的虚拟示波器代码分享
  12. Android自定义Behavior
  13. 来soul,遇见你的奇妙缘分
  14. java杨戬的角色_非人哉:游戏角色反映了神仙们的爱好,杨戬太让人意外了
  15. 微服务构建思路与方法论
  16. 斐波拉契数列 Java三种实现
  17. 生鲜小程序解决方案,微信水果生鲜小程序制作
  18. MATLAB绘制长方体
  19. 第一章 渗透测试之信息收集
  20. 怎样在线将视频文件转二维码?如何使用视频二维码生成器?

热门文章

  1. 京东商城引领3C电子商务
  2. 编辑php程序推荐的软件,推荐php环境搭建七款软件
  3. 2020中国跨境消费报告:“小镇辣妈”“熟龄单身姐姐”“百万年薪大佬”都买啥?...
  4. 华字后面配什么字比较好_华字起名配什么字好
  5. one-way ANOVA(analysis of variance) 单向方差分析
  6. Patran:Error executing subprogram. Reason(errno)=2 No such file or directory
  7. 老歌回顾之射雕英雄传
  8. JavaScript加密解密7种方法总结分析
  9. C#文件流FileStream的用法
  10. Tomcat未解析JSP,返回源代码问题