博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
elasticsearch之hello(spring data整合)
阅读量:6332 次
发布时间:2019-06-22

本文共 4889 字,大约阅读时间需要 16 分钟。

1.书写pom.xml文件

org.springframework.data
spring-data-elasticsearch
2.0.4.RELEASE
org.springframework.data
spring-data-elasticsearch
2.0.4.RELEASE
org.springframework
spring-test
4.2.8.RELEASE
junit
junit
4.12
org.slf4j
slf4j-log4j12
1.7.12

  2.applicationContext.xml文件

  

Demo01.java

package com.baidu.test01;import org.elasticsearch.client.Client;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.domain.PageRequest;import org.springframework.data.domain.Sort;import org.springframework.data.domain.Sort.Direction;import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import com.baidu.domain.Article;import com.baidu.service.ArticleService;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = "classpath:applicationContext.xml")public class Demo01 {		@Autowired	private ArticleService articleService;	@Autowired	private Client client; // 基于原生API	@Autowired	private ElasticsearchTemplate elasticsearchTemplate;	@Test  	public void createIndex() {		//创建索引		elasticsearchTemplate.createIndex(Article.class);		//创建映射		elasticsearchTemplate.putMapping(Article.class);	}	@Test  //创建文档	public void createDoc() {		for (int i = 2; i < 20; i++) {			Article ac=new Article();			ac.setId(i);			ac.setTitle("testSave"+i);			ac.setContent("仅仅只是在测试test"+i);			//文档操作			articleService.save(ac);		}	}	@Test  //查询文档	public void searchDoc() {		//文档操作		articleService.findAll();	}		@Test  //查询文档	public void searchDoc01() {		//文档操作		articleService.findById(1);	}		@Test  //查询文档	public void searchDoc02() {		//模糊查询		articleService.findByTitle("testsave");	}		@Test  //查询文档	public void searchDoc03() {		PageRequest pr=new PageRequest(0, 4,new Sort(Direction.DESC, "id"));		//分页查询  按照降序排序		articleService.findAll(pr);	}}

  

ArticleService.java文件(接口)
package com.baidu.service;import org.springframework.data.domain.PageRequest;import com.baidu.domain.Article;public interface ArticleService {	void save(Article ac);	void findAll();	void findById(Integer i);	void findAll(PageRequest pr);	void findByTitle(String string);} 
ArticleService实现类
package com.baidu.service.imp;import org.elasticsearch.index.query.QueryBuilder;import org.elasticsearch.index.query.WildcardQueryBuilder;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.domain.Page;import org.springframework.data.domain.PageRequest;import org.springframework.data.domain.Sort;import org.springframework.data.domain.Sort.Direction;import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;import org.springframework.data.elasticsearch.core.query.SearchQuery;import org.springframework.stereotype.Service;import com.baidu.dao.ArticleDao;import com.baidu.domain.Article;import com.baidu.service.ArticleService;@Servicepublic class ArticleServiceImp implements ArticleService{	@Autowired	private ArticleDao articleDao;	public void save(Article ac) {		articleDao.save(ac);	}	public void findAll() {		Iterable
all = articleDao.findAll(); for (Article article : all) { System.out.println(article); } } public void findById(Integer i) { Article article = articleDao.findById(i); System.out.println(article); } public void findAll(PageRequest pr) { Page
page = articleDao.findAll(pr); System.out.println(page.getContent()); } public void findByTitle(String string) { //需要根据内容的分词进行查询 QueryBuilder query= new WildcardQueryBuilder("title", "*"+string+"*"); SearchQuery searchQuery = new NativeSearchQuery(query); PageRequest pr=new PageRequest(0, 4,new Sort(Direction.DESC, "id")); searchQuery.setPageable(pr); Page
page = articleDao.search(searchQuery); System.out.println(page.getContent()); }}

  

ArticleDao.java
package com.baidu.dao;import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;import com.baidu.domain.Article;public interface ArticleDao extends ElasticsearchRepository
{ Article findById(Integer i);}

  

 

转载于:https://www.cnblogs.com/fjkgrbk/p/elasticsearch_springdata.html

你可能感兴趣的文章
Orchard 视频资料
查看>>
简述:预处理、编译、汇编、链接
查看>>
调试网页PAIP HTML的调试与分析工具
查看>>
路径工程OpenCV依赖文件路径自动添加方法
查看>>
玩转SSRS第七篇---报表订阅
查看>>
WinCE API
查看>>
SQL语言基础
查看>>
对事件处理的错误使用
查看>>
最大熵模型(二)朗格朗日函数
查看>>
深入了解setInterval方法
查看>>
html img Src base64 图片显示
查看>>
[Spring学习笔记 7 ] Spring中的数据库支持 RowMapper,JdbcDaoSupport 和 事务处理Transaction...
查看>>
FFMPEG中关于ts流的时长估计的实现(转)
查看>>
Java第三次作业
查看>>
【HDOJ 3652】B-number
查看>>
android代码混淆笔记
查看>>
Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) C. String Reconstruction 并查集
查看>>
BMP文件的读取与显示
查看>>
Flash文字效果
查看>>
各种排序算法总结篇(高速/堆/希尔/归并)
查看>>