Spring data elasticsearch的使用
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的使用相关推荐
- Spring Data ElasticSearch入门案例
Spring Data ElasticSearch入门案例 创建maven工程elasticsearch_springdata 基于maven导入坐标 导入spring data elasticsea ...
- 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 ...
- Spring Data Elasticsearch案例详解
一.Elasticsearch 工作原理 1.1 文档存储的路由 当索引到一个文档(如:报价系统),具体的文档数据(如:报价数据)会存储到一个分片.具体文档数据会被切分,并分别存储在分片 1 或者 分 ...
- Spring Boot + Spring Data + Elasticsearch实例
在本文中,我们将讨论"如何创建Spring Boot + Spring Data + Elasticsearch范例". 本文中使用的工具: Spring Boot 1.5.1.R ...
- Elasticsearch 实战1:ES 项目实战(一)Java 集成 Spring Data Elasticsearch(一):简介及环境搭建
一:前语 1.项目文档 CSDN 专栏:<Elasticsearch 入门和项目实战> 博客路径: https://blog.csdn.net/a767815662/category_91 ...
- 【Spring Data ElasticSearch】高级查询,聚合
[Spring Data ElasticSearch]高级查询,聚合 1. 高级查询 1.1 基本查询 1.2 自定义查询 1.3 分页查询 1.4 排序 2. 聚合 2.1 聚合为桶 2.2 嵌套聚 ...
- Spring系列学习之Spring Data Elasticsearch数据访问
英文原文:https://spring.io/projects/spring-data-elasticsearch 目录 概述 特性 快速开始 学习 文档 概述 Elasticsearch的Sprin ...
- Spring Data Elasticsearch 和 x-pack 用户名/密码验证连接
为什么80%的码农都做不了架构师?>>> 使用Spring Data Elasticsearch连接elasticsearch时,正常情况下只需要在application.pr ...
- Lucene 和 Kibana、ElasticSeach、Spring Data ElasticSearch
什么是全文检索 数据分类 生活中的数据总体分为两种:结构化数据和非结构化数据. 结构化数据 - 行数据,可以用二维表结构来逻辑表达实现的数据:指具有固定格式或有限长度的数据,如数据库,元数据等. 非结 ...
最新文章
- python 搜索插入位置
- oracle查找外键表
- 我9月底的SAP Spartacus开发进展情况
- [ES6] 细化ES6之 -- 前端模块化
- android的应用组件,跟我学android-Android应用基本组件介绍(五)
- Java8中的foreach跳出循环break/return
- string 常用函数
- CAPL学习之路-诊断函数
- php色子,jQuery+PHP实现的掷色子抽奖游戏实例,jquery色子_PHP教程
- js表单提交 php,提交表单:js中form表单是如何提交的
- 2020上海大学生网络安全赛MISC题WP
- sh_gamit报错:error reading station a priori constrains
- vue生命周期中的modle→view过程
- xpath 爬取某网站图片
- 晶体三极管及其基本放大电路
- 通过数据库存储过程调用Web服务的办法
- 【说一千道一万】volatile关键字的作用和synchronized的关系
- 台湾清华大学物联网--004 物联网无线传输技术
- .如何将iso文件刻录成光盘?
- Java 字符串拆分