小工具      在线工具  汉语词典  dos游戏  css  js  c++  java

Spring Data Elasticsearch 集成测试

Java 额外说明

收录于:52天前

1.下载并启动elasticsearch 6.2.2(可以参考我之前的文章)

elasticsearch 6.2.2下载地址

2.启动ElasticSearch Head插件(请参考我之前的文章)

3.通过ElasticSearch Head查看ES中的数据

4.Spring Data Elasticsearch集成测试

网上看到很多技术博客说到,因为elasticsearch对于spring以及spring-data-elasticsearch的版本一致性有要求,
所以这里选择的版本如下:

本地安装elasticsearch 6.2.2 版本的服务器

elasticsearch-rest-client 6.2.2

elasticsearch-rest-high-level-client 6.2.2

spring-data-elasticsearch  3.1.3

org.springframework 5.1.0

1.pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.elastic</groupId>
  <artifactId>elastic</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>elastic Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <!-- spring版本号 -->
    <spring.version>5.1.0.RELEASE</spring.version>
    <!-- log4j日志文件管理包版本 -->
    <slf4j.version>1.7.7</slf4j.version>
    <log4j.version>1.2.17</log4j.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    
     <!-- java ee包 -->
    <dependency>
      <groupId>javax</groupId>
      <artifactId>javaee-api</artifactId>
      <version>7.0</version>
    </dependency>
    
    <!-- spring框架包 start -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-oxm</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <!-- spring框架包 end -->
    
    <!-- log start -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <!-- log END -->
    
     <!-- 上传组件包 start -->
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.4</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.4</version>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.10</version>
    </dependency>
    <!-- 上传组件包 end -->
    
    <!-- Json -->
    <!-- 格式化对象,方便输出日志 -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.54</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-mapper-asl</artifactId>
      <version>1.9.13</version>
    </dependency>
    
   	<dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
   	  <artifactId>jackson-databind</artifactId>
      <version>2.9.8</version>
	</dependency>
	
	<dependency>
	    <groupId>org.elasticsearch</groupId>
	    <artifactId>elasticsearch</artifactId>
	    <version>6.2.2</version>
	</dependency>
	<dependency>
	    <groupId>org.elasticsearch.client</groupId>
	    <artifactId>elasticsearch-rest-client</artifactId>
	    <version>6.2.2</version>
	</dependency>
	<dependency>
	    <groupId>org.elasticsearch.client</groupId>
	    <artifactId>elasticsearch-rest-high-level-client</artifactId>
	    <version>6.2.2</version>
	</dependency>
	<dependency>
	    <groupId>org.springframework.data</groupId>
	    <artifactId>spring-data-elasticsearch</artifactId>
	    <version>3.1.3.RELEASE</version>
	</dependency>
	
  </dependencies>

  <build>
    <finalName>elastic</finalName>
    <!-- 处理maven update project时,override报错的问题 -->
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

2. spring-elastic.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">

    <context:component-scan base-package="com.elastic" />

	<!-- 必须指向存放repository文件的包 -->
	<elasticsearch:repositories base-package="com.elastic.repository" />

    <!-- 配置Client -->
    <!--<elasticsearch:transport-client id="client" cluster-nodes="192.168.0.113:9300"/>-->
    <elasticsearch:transport-client id="client" cluster-nodes="127.0.0.1:9300"/>

    <!-- 配置搜索模板  -->
    <bean id="elasticsearchTemplate"
          class="org.springframework.data.elasticsearch.core.ElasticsearchTemplate">
        <constructor-arg name="client" ref="client" />
    </bean>
</beans>

3.根据名称查询ES数据测试

localhost:8080/es/findByStuId?stuName=司马懿 

// 查询代码
    @ResponseBody
	@RequestMapping(value = "/findByStuId", method = RequestMethod.GET)
	public List<Stu> findByStuId(String stuName){
		// 分页参数,排序
		Sort sort = new Sort(Sort.Direction.ASC, "id");
		Pageable pageable = PageRequest.of(0, 2, sort);
		List<Stu> listpages = esService.getPageByStuName(stuName, pageable);

		return listpages;
	}

上面的源码下载地址我的github

. . .

相关推荐

额外说明

JPA 原生多表查询分页

CONTRLLOE @GetMapping("findByCondition") public ResponseEntity findByCondition(@ModelAttribute PaymentEntity paymentEnt

额外说明

应届毕业生无所适从,面临“毕业即失业”的局面,该怎么办?

  每次到毕业季,总会有一个永恒的话题围绕在毕业生之中:毕业就失业? 大学生刚刚步入社会,很大部分是不能清晰得知道自己要做什么的,这个阶段特别希望找到社会认同感,迫切希望能立足社会。很多人往往满怀激情,空有抱负,却在无尽的面试过程中,希望落空,发现现实其

额外说明

二分法查找(折半查找)算法

一,什么是二分查找 二分查找,是一种在有序数组中查找某一特定元素的查找算法。 二,算法思路 (令左右下标分别为left,right,其中left初始值为0,rightd的初始值为sizeof(arr)/sizeof(arr[0])-1   令中间元素的下

额外说明

python——reportlab

QQ 1274510382 Wechat JNZ_aming 商业联盟 QQ群538250800 技术搞事 QQ群599020441 解决方案 QQ群152889761 加入我们 QQ群649347320 共享学习 QQ群674240731 纪年科技am

额外说明

【Node.js】一文带你开发博客项目之接口(处理请求、搭建开发环境、开发路由)

个人简介 -个人主页: 前端杂货铺 -‍♂️学习方向: 主攻前端方向,也会涉及到服务端 -个人状态: 在校大学生一枚,已拿 offer(秋招) -推荐学习:-前端面试宝典 -Vue2 -Vue3 -Vue2&Vue3项目实战 -Node.js Node.

额外说明

【SpringMVC】看完这篇简单理解并入门SpringMVC:通过入门案例举例子的方式快速理解

SpringMVC简介 1.什么是MVC 2.什么是SpringMVC 3.SpringMVC的特点 4.入门案例 1.准备工作 2.配置web.xml 3.创建请求控制器 4.创建SpringMVC的配置文件 5.测试HelloWorld 6.总结 1

额外说明

Mysql底层优化(通讯、缓存池,引擎,分支)

一、MySQL通讯优化 mysql通信协议采用tcp/ip半双工机制的长连接,数据双向传输,但不能同时传输。mysql 的长连接等待超时时间默认为8小时,就是8小时内如果没有做任何sql的操作,MySQL将自动断开该连接,可通过show global v

额外说明

Vue作用域插槽(vue2.5淘汰语法和vue3.0支持的语法对比)

目录 不用作用域插槽的情况 用作用域插槽解决上面问题(Vue2.5旧语法,Vue3.0不再包含) 用作用域插槽解决上面问题(Vue2.6+新语法,Vue3.0支持)   前篇:Vue中的插槽和具名插槽(vue 2.5已淘汰的语法和vue3.0支持语法对比

额外说明

docker环境中安装gd扩展

方案1 一般情况下可能会想到安装命令 docker-php-ext-install gd 但是很有可能出现错误 configure: error: png.h not found. 因为可能本身没有安装png等处理库 方案2 #更新安装依赖资源库 apt

额外说明

LinQ的级联操作

LinQ的级联操作            现在我开始做一个linq的级联操作,给大家参考: 1.我首先新建了两张表一个是category,一个是product.   category表   product表:   2.然后添加关联:  ALTER   T

ads via 小工具