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的更多相关文章

  1. SpringBoot整合SpringDataElasticSearch操作ES

    (1).添加starter依赖 <dependency> <groupId>org.springframework.boot</groupId> <artif ...

  2. springdata -----操作ES

    一:配置springdata-Es elasticseach-JPA.xml <?xml version="1.0" encoding="UTF-8"?& ...

  3. Elasticsearch笔记五之java操作es

    Java操作es集群步骤1:配置集群对象信息:2:创建客户端:3:查看集群信息 1:集群名称 默认集群名为elasticsearch,如果集群名称和指定的不一致则在使用节点资源时会报错. 2:嗅探功能 ...

  4. SpringBoot整合Jest操作ES

    (1).添加依赖 <dependency> <groupId>io.searchbox</groupId> <artifactId>jest</a ...

  5. SpringBoot操作ES进行各种高级查询

    SpringBoot整合ES 创建SpringBoot项目,导入 ES 6.2.1 的 RestClient 依赖和 ES 依赖.在项目中直接引用 es-starter 的话会报容器初始化异常错误,导 ...

  6. 07_Kibana界面操作ES

    Kibana界面的API操作ES 1.创建索引 1.1 指定分片数量和备份数量 1.2 创建默认 2. 查看索引 2.1 查看单个索引设置 2.2 查看所有索引设置 3.文档管理 3.1 添加文档 3 ...

  7. es的查询、排序查询、分页查询、布尔查询、查询结果过滤、高亮查询、聚合函数、python操作es

    今日内容概要 es的查询 Elasticsearch之排序查询 Elasticsearch之分页查询 Elasticsearch之布尔查询 Elasticsearch之查询结果过滤 Elasticse ...

  8. 【ELK】7. elasticsearch linux上操作es命令详解

    ========== 1.检查ES节点是否正常启动 curl http://192.168.6.16:9200 正常状态: 非正常状态: 1>确保服务是不是正常启动了,端口用的是哪个 2> ...

  9. python 操作es

    Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上. Lucene 可能是目前存在的,不论开源还是私有的,拥有最先进,高性能和全功能搜索 ...

随机推荐

  1. 关于怎么提取m3u8地址

    摘自: https://blog.51cto.com/4373601/1920758 很长时间没有写博客了,这一段时间比较忙,接下来的日子要坚持写博客了,后期抽空会把这一年多的测试心得补上来,写博客其 ...

  2. sql server数据库显示“单用户”的解决方法

    USE master; GO DECLARE @SQL VARCHAR(MAX); SET @SQL='' SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID) --杀掉该进程 ...

  3. PAT-2019年冬季考试-甲级 7-3 Summit (25分) (邻接矩阵存储,直接暴力)

    7-3 Summit (25分)   A summit (峰会) is a meeting of heads of state or government. Arranging the rest ar ...

  4. Java技术体系 JDK与JRE

    从广义上讲,Clojure.JRuby.Groovy等运行于Java虚拟机上的语言及其相关的程序都属于Java技术体系中的一员.如果仅从传统意义上来看,Sun官方所定义的Java技术体系包括以下几个组 ...

  5. 快速读取TXT几百万行数据, 然后插入到数据,SqlBulkCopy功能的确是有效率

    public static void Main(string[] args) { string strPath = "F:\\Download\\600.txt"; int lin ...

  6. WOS免费查的办法

    SCI期刊IF是我们很多人投稿时的考虑因素之一,但每年的IF在6月份左右才会发布,2017年6月将会发布2016年的IF,这就会对很多同学投稿造成一定的影响. 比如你现在准备在明年3月份投稿,这个时候 ...

  7. 【视频开发】Gstreamer中一些gst-launch常用命令

    GStreamer是著名的开源多媒体框架,功能强大,其命令行程序 gst-launch 可以实现很多常规测试.播放等,作为系统调试等是非常方便的. 1.摄像头测试 gst-launch v4l2src ...

  8. Spring Boot打包运行

    一:pom.xml配置修改 <!--如果想打成jar包,修改为jar--> <packaging>war</packaging> <dependency> ...

  9. RHEL6.5 移植使用CentOS 的YUM 步骤

    问题:使用 Red Hat Enterprise Linux Server(RHEL) yum安装软件时显示 This system is not registered with RHN. RHN s ...

  10. python_操作linux上的mysql

    在编写初期,遇见一个问题,发现怎么连接不上mysql,一直报错1045: 最后发现,只要下面的,连接写正确,不会出现这个问题, 只要你保证你的user.pwd是正确的, import pymysqld ...