java查询elasticsearch_JAVA使用ElasticSearch查询in和not in的实现方式
ElasticSearch
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
最近用到ES查询,因用的是Java写的,需要实现一个需求:过滤一部分id,查询时不需要查出来。
既然需要不包含,那么首先需要实现包含的方式(精确完全匹配),这里我们要用到的是termQuery
首先看下ES Bool联合查询的属性:
bool联合查询: must,should,must_not
联合查询就会使用到must,should,must_not三种关键词。
这三个可以这么理解
must: 文档必须完全匹配条件
should: should下面会带一个以上的条件,至少满足一个条件,这个文档就符合should
must_not: 文档必须不匹配条件
具体案例,我需要过滤掉不用的exerciseId:
BoolQueryBuilder exersiceBoolQuery = QueryBuilders.boolQuery();
if (exersiceIds != null && exersiceIds.size() > 0)
{
for (String exerciseId: exersiceIds)
{
exersiceBoolQuery.mustNot(QueryBuilders.termQuery("id", exerciseId));
}
}
最后在发送请求的时候,加上你的exersiceBoolQuery即可
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
java查询elasticsearch_JAVA使用ElasticSearch查询in和not in的实现方式相关推荐
- java es 如何查询_使用elasticsearch的java-api进行查询
1.前言 elsaticsearch版本是6.8.3,使用的java-api是基于Java High Level REST Client.java 2.数据 3. InitClient 用来初始化客 ...
- elasticsearch查询中文释义、JAVA的API以及kibana上查询
目录 一.创建表结构: 二.ES的各种查询 2.1term&terms查询 2.1.1term查询(我试了下province没有办法查询,需到后面加个.keyword) 2.1.2terms查 ...
- ElasticSearch查询所有数据restful api以及java代码实现
elasticsearch查询所有数据restful api以及java代码实现 restful api实现如下: get http://192.168.1.111:9200/film/dongzuo ...
- es查询语句拼接 java_JAVA使用ElasticSearch查询in和not in的实现方式
JAVA使用ElasticSearch查询in和not in的实现方式 发布时间:2020-08-22 16:03:11 来源:脚本之家 阅读:119 作者:执笔记忆的空白 ElasticSearch ...
- ElasticSearch ---- 查询
模拟数据创建 首先利用head差检查创建book索引 然后修改mappings配置 http方法: post 链接地址: http://192.168.253.129:9200/ book/nov ...
- 为什么Elasticsearch查询变得这么慢了?
Elasticsearch 最少必要知识实战教程直播回放 0.引言 Elasticsearch社区中经常看到慢查询问题:"你能帮我看看Elasticsearch的响应时间吗?"或者 ...
- Elasticsearch(三)——Es搜索(简单使用、全文查询、复合查询)、地理位置查询、特殊查询、聚合操作、桶聚合、管道聚合
Elasticsearch(三)--Es搜索(简单使用.全文查询.复合查询).地理位置查询.特殊查询.聚合操作.桶聚合.管道聚合 一.Es搜索 这里的 Es 数据博主自己上网找的,为了练习 Es 搜索 ...
- es ik 多字段查询_SpringBoot使用注解的方式构建Elasticsearch查询语句,实现多条件的复杂查询...
背景&痛点 通过ES进行查询,如果需要新增查询条件,则每次都需要进行硬编码,然后实现对应的查询功能.这样不仅开发工作量大,而且如果有多个不同的索引对象需要进行同样的查询,则需要开发多次,代码复 ...
- Java操作Elasticsearch6实现基本查询
引言 业务系统接入Elasticsearch搜索服务后,开始了写查询接口的任务,本篇博客将总结Java操作Elasticsearch一些基本查询的实现. 基础代码 构建查询条件,对应Elasticse ...
最新文章
- c# 线程,同步,锁
- SAP Basis 应该做什么
- 查找满足断言的第一个元素
- C/C++编程笔记:输入输出的优化,你还为思路正确却TLE而烦恼吗?
- 使用 JMockit 来 mock 构造函数
- android启动模式
- 《JAVA与模式》之解释器模式
- [转] 关于闰年的判断方法
- 论文解读:手机拍照暗光成像
- 通过nodejs搭建HTTP服务器
- 从“为什么创业”到“怎么创业”(转)
- python3判断变量存在_Python3基础 list in/not in 判断一个变量是否在列表中存在
- 教您用几何画板画相切的圆
- 悠然一指,点“识”成金
- 视频教程-三十八课时零基础matlab精通优化算法-Matlab
- HashMap实现的原理,hashmap怎么存的值?看了就懂了
- C语言实现Linux聊天工具
- 度量两个矩阵的相似性
- CSS中阴影边框的立体效果
- 量化交易如何进行回测+模拟+实盘?包括哪些回测框架?