elasticsearchTemplate操作es
ElasticsearchTemplate是spring对java api的封装
maven依赖:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-elasticsearch</artifactId>
<version>3.1.8.RELEASE</version>
</dependency>
spring bean配置 spring-es.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:elasticsearch="http://www.springframework.org/schema/data/elasticsearch"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/data/elasticsearch http://www.springframework.org/schema/data/elasticsearch/spring-elasticsearch.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <elasticsearch:transport-client id="client"
cluster-nodes="192.168.71.137:9300"
cluster-name="large-data-transfer-platform"/>
<bean name="elasticsearchTemplate"
class="org.springframework.data.elasticsearch.core.ElasticsearchTemplate">
<constructor-arg ref="client"/>
</bean>
</beans>
autowired注入实例:
@Autowired
private ElasticsearchTemplate elasticsearchTemplate;
分页查询demo:
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
if (params.get("uuid") != null && StringUtils.isNotBlank(params.get("uuid").toString())) {
boolQuery.must(QueryBuilders.matchPhraseQuery("article_id", params.get("uuid")));
}
if (params.get("subject_id") != null && StringUtils.isNotBlank(params.get("subject_id").toString())) {
boolQuery.must(QueryBuilders.matchPhraseQuery("subject_id", params.get("subject_id")));
}
if (params.get("title_like") != null && StringUtils.isNotBlank(params.get("title_like").toString())) {
boolQuery.must(QueryBuilders.matchPhraseQuery("title", params.get("title_like")));
}
if (params.get("content_like") != null && StringUtils.isNotBlank(params.get("content_like").toString())) {
boolQuery.must(QueryBuilders.matchPhraseQuery("content", params.get("content_like")));
}
Pageable pageable= new PageRequest(Integer.parseInt(String.valueOf(params.get("start"))), Integer.parseInt(String.valueOf(params.get("limit"))),new Sort(Sort.Direction.DESC, "update_time"));
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder()
.withIndices(centerIndexName)
.withTypes(centerArticleTypeName)
.withQuery(boolQuery)
.withPageable(pageable)
.build();
List<Map> maps = elasticsearchTemplate.queryForList(searchQuery, Map.class);
System.out.println(JSON.toJSONString(maps));
elasticsearchTemplate操作es的更多相关文章
- SpringBoot整合SpringDataElasticSearch操作ES
(1).添加starter依赖 <dependency> <groupId>org.springframework.boot</groupId> <artif ...
- springdata -----操作ES
一:配置springdata-Es elasticseach-JPA.xml <?xml version="1.0" encoding="UTF-8"?& ...
- Elasticsearch笔记五之java操作es
Java操作es集群步骤1:配置集群对象信息:2:创建客户端:3:查看集群信息 1:集群名称 默认集群名为elasticsearch,如果集群名称和指定的不一致则在使用节点资源时会报错. 2:嗅探功能 ...
- SpringBoot整合Jest操作ES
(1).添加依赖 <dependency> <groupId>io.searchbox</groupId> <artifactId>jest</a ...
- SpringBoot操作ES进行各种高级查询
SpringBoot整合ES 创建SpringBoot项目,导入 ES 6.2.1 的 RestClient 依赖和 ES 依赖.在项目中直接引用 es-starter 的话会报容器初始化异常错误,导 ...
- 07_Kibana界面操作ES
Kibana界面的API操作ES 1.创建索引 1.1 指定分片数量和备份数量 1.2 创建默认 2. 查看索引 2.1 查看单个索引设置 2.2 查看所有索引设置 3.文档管理 3.1 添加文档 3 ...
- es的查询、排序查询、分页查询、布尔查询、查询结果过滤、高亮查询、聚合函数、python操作es
今日内容概要 es的查询 Elasticsearch之排序查询 Elasticsearch之分页查询 Elasticsearch之布尔查询 Elasticsearch之查询结果过滤 Elasticse ...
- 【ELK】7. elasticsearch linux上操作es命令详解
========== 1.检查ES节点是否正常启动 curl http://192.168.6.16:9200 正常状态: 非正常状态: 1>确保服务是不是正常启动了,端口用的是哪个 2> ...
- python 操作es
Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上. Lucene 可能是目前存在的,不论开源还是私有的,拥有最先进,高性能和全功能搜索 ...
随机推荐
- weui.js汉字乱码
2019-6-25 11:04:13 星期二 min.js 源文件中会自带乱码: 鍙栨秷: 取消; 纭畾: 确定; 方案: 把weui.js用notepad++打开, 搜索乱码字符, 替换掉, ...
- PMP模拟错题总结
本打算15天完成第二轮复习的,结果项目太忙,拖成了25天.第二轮主要以小绿书为主,就是如下这本 怎么说呢,题目偏向于考ITTO的内容,情景题比较少.可以使用“管理圈”APP作为补充 1.敏感性分析的结 ...
- OpenShift 3.11离线环境的jenkins演示
离线安装完成后,一般情况下只装了个基础环境,catalog镜像没有导入,本文主要侧重在jenkins的一些环境设置和演示. 1.导入镜像 首先follow下面链接下载镜像 https://docs.o ...
- Linux CentOS7 通过 yum 搭建 svn 服务器,并配置权限
1,使用 yum 安装 svn 服务器 yum -y install subversion rpm -ql subversion -- 改命令可以查看 svn 的安装位置 2,创建仓库根目录,可任意选 ...
- Jenkins集成TestNG
1.Jenkins安装插件 TestNG Results Plugin 2. 添加配置 “构建后操作”->“Publish TestNG Results” 保持默认配置即可 3.查看报告 项目构 ...
- commitlint那些事儿
这里主要介绍提交信息用到的 cz 工具集. 一.生成器 commitizen,cz`生成提交说明`,格式化 git commit message. # 全局安装cz npm install -g co ...
- leetcode刷题系列(一) 26题 删除排序数组中的重复项
题干 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示 ...
- unity 在editor编辑器下创建多个按钮
入坑最后发现就几句话,真是气死人了.发现自己掉坑里,脑子就变笨了,把代码贴给你们,保持大脑清醒. using System.Collections; using System.Collections. ...
- td宽度自适应 窄的地方自动收缩
.layui-table td,.layui-table th { white-space: nowrap; width: auto; min-width: 0px!important; } 不换行! ...
- 初识阿里开源的本地Java进程监控调试工具arthas(阿尔萨斯)
转载自:https://www.cnblogs.com/linhui0705/p/9795417.html 上个月,阿里开源了一个名为Arthas的监控工具.恰逢近期自己在写多线程处理业务,由此想到了 ...