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

Spring Data Elasticsearch 集成测试

Java 额外说明

收录于:92天前

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

. . .

相关推荐

额外说明

buuctf:另一个世界

下载解压得到一张图片,放到010Editor中查看,在末尾发现一串二进制, 8个一组分别转成ASCII对应的字母,得到:koekj3s,记得包上flag{}提交。  知识点: 1.二进制:二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“

额外说明

NVIDIA驱动失效简单解决方案:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver.

NVIDIA驱动失效简单解决方案:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver. 前言: 以下方法,不需要重装驱动,简单快捷。适用于 Ubuntu

额外说明

Java网络 1.20 题目练习

题目练习 第一题 第二题 第三题 第一题 第二题 第三题

额外说明

计算机基础-----编码出现的原因、发展过程以及查看修改

编码问题一直是很多新手头疼的问题,尤其是在你敲出来的不是乱码,网页或后台出现了乱码的情况下,出现这些问题,大部分是由于编码格式问题。 写这篇博客就是想把我了解的编码问题总结下来,希望可以解释清楚,供大家参考。 为什么会出现编码? 我们先看一个数据传输过程

额外说明

Tomcat下载安装使用教程

文章目录 Tomcat下载安装使用教程 01、简介 02、版本对应 03、下载安装 04、目录结构 Tomcat下载安装使用教程 01、简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器. 02、版本对应 Serv

额外说明

[Ext JS 4] Grid 实战之分页功能

前言 分页功能的实现有两种途径: 一种是服务端分页方式, 也就是web客户端传递页码参数给服务端,服务端根据页面参数返回指定条数的数据。也就是要多少取多少。这种方式比较适合Grid  的数据量很大,需分批取。 另一种是客户端分页方式, 一次性从服务端取回

额外说明

DateTime溢出

DateTime溢出在.NET程序里面通过多个函数调用SQL Server的一个存储过程,向它传递的参数包括一个DateTime型的数据,因为在有的情况下会忽略这个字段,因此有的函数我就让它传递一个固定值DateTime.MinValue进去,问题就来了

额外说明

在ASP.NET中使用Quartz.net进行工作调度

Quartz是一个Java开源的作业调度框架。官方网站:http://www.opensymphony.com/quartz/  IBM网站上有一篇简单易懂的文章:http://www.ibm.com/developerworks/cn/java/j-q

额外说明

wordpress表单调用_如何使用密码保护您的WordPress表单

WordPress 表单调用 您想用密码保护 WordPress 网站上的表单吗? 您想用密码保护 WordPress 网站上的表单吗? 通常,当您向网站添加表单时,所有可以看到该页面的用户都可以看到该表单。如果您想保护 WordPress 表单并将其访

额外说明

wordpress最佳架构_您应该尝试的16个最佳WordPress Chrome扩展

WordPress 最佳架构 您是否正在寻找最佳的 WordPress Chrome 扩展来提高工作效率?浏览器扩展可以帮助改善您的 WordPress 工作流程并提高您的工作效率。在本文中,我们精心挑选了一些您应该尝试的最佳 WordPress 相关

ads via 小工具