Spring data elasticsearch的使用

ArticleService

package cn.zxl.service;import java.util.List;import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;import cn.zxl.domain.Article;public interface ArticleService {public void save(Article article);public void delete(Article article);public Article findOne(Integer id);public Iterable<Article> findAll();public Page<Article> findAll(Pageable pageable);public List<Article> findByTitle(String title);public Page<Article> findByTitle(String title, Pageable pageable);
}

ArticleServiceImpl

package cn.zxl.service;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;import cn.zxl.dao.ArticleRepository;
import cn.zxl.domain.Article;@Service
public class ArticleServiceImpl implements ArticleService {@Autowiredprivate ArticleRepository articleRepository;public void save(Article article) {articleRepository.save(article);}public void delete(Article article) {articleRepository.delete(article);}public Article findOne(Integer id) {return articleRepository.findOne(id);}public Iterable<Article> findAll() {return articleRepository.findAll(new Sort(new Sort.Order(Sort.Direction.ASC, "id")));}public Page<Article> findAll(Pageable pageable) {return articleRepository.findAll(pageable);}public List<Article> findByTitle(String title) {return articleRepository.findByTitle(title);}public Page<Article> findByTitle(String title, Pageable pageable) {return articleRepository.findByTitle(title, pageable);}}

ArticleRepository

package cn.zxl.dao;import java.util.List;import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;import cn.zxl.domain.Article;public interface ArticleRepository extendsElasticsearchRepository<Article, Integer> {List<Article> findByTitle(String title);Page<Article> findByTitle(String title, Pageable pageable);}

Article

package cn.zxl.domain;import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldIndex;
import org.springframework.data.elasticsearch.annotations.FieldType;@Document(indexName = "blog3", type = "article")
public class Article {@Id@Field(index = FieldIndex.not_analyzed, store = true, type = FieldType.Integer)private Integer id;@Field(index = FieldIndex.analyzed, analyzer = "ik", store = true, searchAnalyzer = "ik", type = FieldType.String)private String title;@Field(index = FieldIndex.analyzed, analyzer = "ik", store = true, searchAnalyzer = "ik", type = FieldType.String)private String content;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getContent() {return content;}public void setContent(String content) {this.content = content;}@Overridepublic String toString() {return "Article [id=" + id + ", title=" + title + ", content="+ content + "]";}}

applicationContext.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:context="http://www.springframework.org/schema/context"xmlns:elasticsearch="http://www.springframework.org/schema/data/elasticsearch"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/data/elasticsearchhttp://www.springframework.org/schema/data/elasticsearch/spring-elasticsearch-1.0.xsd "><!-- 扫描DAO包 自动创建实现 --><elasticsearch:repositories base-package="cn.itcast.dao" /><!-- 扫描Service包 --><context:component-scan base-package="cn.itcast.service" /><!-- 配置elasticsearch 连接 --><elasticsearch:transport-client id="client" cluster-nodes="localhost:9300" /><!-- spring data elasticsearch DAO 必须依赖 elasticsearchTemplate  --><bean id="elasticsearchTemplate" class="org.springframework.data.elasticsearch.core.ElasticsearchTemplate"><constructor-arg name="client" ref="client" /></bean></beans>

pom.xml

<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>cn.itcast.maven</groupId><artifactId>elasticsearch_springdata</artifactId><version>0.0.1-SNAPSHOT</version><name>elasticsearch_springdata</name><dependencies><dependency><groupId>org.elasticsearch</groupId><artifactId>elasticsearch</artifactId><version>2.4.0</version></dependency><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-elasticsearch</artifactId><version>2.0.4.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>4.2.8.RELEASE</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.12</version></dependency></dependencies>
</project>

Spring data elasticsearch的使用相关推荐

  1. Spring Data ElasticSearch入门案例

    Spring Data ElasticSearch入门案例 创建maven工程elasticsearch_springdata 基于maven导入坐标 导入spring data elasticsea ...

  2. spring data elasticsearch 对应 elasticsearch 版本

    spring data elasticsearch elasticsearch 3.2.x 6.5.0 3.1.x 6.2.2 3.0.x 5.5.0 2.1.x 2.4.0 2.0.x 2.2.0 ...

  3. Spring Data Elasticsearch案例详解

    一.Elasticsearch 工作原理 1.1 文档存储的路由 当索引到一个文档(如:报价系统),具体的文档数据(如:报价数据)会存储到一个分片.具体文档数据会被切分,并分别存储在分片 1 或者 分 ...

  4. Spring Boot + Spring Data + Elasticsearch实例

    在本文中,我们将讨论"如何创建Spring Boot + Spring Data + Elasticsearch范例". 本文中使用的工具: Spring Boot 1.5.1.R ...

  5. Elasticsearch 实战1:ES 项目实战(一)Java 集成 Spring Data Elasticsearch(一):简介及环境搭建

    一:前语 1.项目文档 CSDN 专栏:<Elasticsearch 入门和项目实战> 博客路径: https://blog.csdn.net/a767815662/category_91 ...

  6. 【Spring Data ElasticSearch】高级查询,聚合

    [Spring Data ElasticSearch]高级查询,聚合 1. 高级查询 1.1 基本查询 1.2 自定义查询 1.3 分页查询 1.4 排序 2. 聚合 2.1 聚合为桶 2.2 嵌套聚 ...

  7. Spring系列学习之Spring Data Elasticsearch数据访问

    英文原文:https://spring.io/projects/spring-data-elasticsearch 目录 概述 特性 快速开始 学习 文档 概述 Elasticsearch的Sprin ...

  8. Spring Data Elasticsearch 和 x-pack 用户名/密码验证连接

    为什么80%的码农都做不了架构师?>>>    使用Spring Data Elasticsearch连接elasticsearch时,正常情况下只需要在application.pr ...

  9. Lucene 和 Kibana、ElasticSeach、Spring Data ElasticSearch

    什么是全文检索 数据分类 生活中的数据总体分为两种:结构化数据和非结构化数据. 结构化数据 - 行数据,可以用二维表结构来逻辑表达实现的数据:指具有固定格式或有限长度的数据,如数据库,元数据等. 非结 ...

最新文章

  1. python 搜索插入位置
  2. oracle查找外键表
  3. 我9月底的SAP Spartacus开发进展情况
  4. [ES6] 细化ES6之 -- 前端模块化
  5. android的应用组件,跟我学android-Android应用基本组件介绍(五)
  6. Java8中的foreach跳出循环break/return
  7. string 常用函数
  8. CAPL学习之路-诊断函数
  9. php色子,jQuery+PHP实现的掷色子抽奖游戏实例,jquery色子_PHP教程
  10. js表单提交 php,提交表单:js中form表单是如何提交的
  11. 2020上海大学生网络安全赛MISC题WP
  12. sh_gamit报错:error reading station a priori constrains
  13. vue生命周期中的modle→view过程
  14. xpath 爬取某网站图片
  15. 晶体三极管及其基本放大电路
  16. 通过数据库存储过程调用Web服务的办法
  17. 【说一千道一万】volatile关键字的作用和synchronized的关系
  18. 台湾清华大学物联网--004 物联网无线传输技术
  19. .如何将iso文件刻录成光盘?
  20. Java 字符串拆分

热门文章

  1. 【算法知识】详解基数排序算法
  2. 用pytorch及numpy计算成对余弦相似性矩阵,并用numpy实现kmeans聚类
  3. 移动IM开发指南1:如何进行技术选型
  4. Java实例_综合实践3.K-Means聚类算法
  5. docker环境搭建
  6. centos中文乱码修改字符编码使用centos支持中文
  7. 【二分图判定】hdu3478 Catch
  8. jdk安装后提示错误
  9. 用定时中断来接收红外遥控信号
  10. 华为路由器的NAT配置