package com.itheima.test;
import com.itheima.entity.Article;
import com.itheima.service.ArticleService;
import org.elasticsearch.client.transport.TransportClient;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.List;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")
public class SpringDataESTest {
@Autowired
private ArticleService articleService;
@Autowired
private TransportClient client;
@Autowired
private ElasticsearchTemplate elasticsearchTemplate;
/**
* 创建索引
*/
@Test
public void creatIndex() {
elasticsearchTemplate.createIndex(Article.class);
elasticsearchTemplate.putMapping(Article.class);
}
/**
* 删除索引
*/
@Test
public void deleteIndex() {
elasticsearchTemplate.deleteIndex(Article.class);
}
/**
* 创建文档
*/
@Test
public void saveArticle() {
for (int i = 0; i < 10; i++) {
Article article = new Article();
article.setId(i);
article.setTitle(i + "测试SpringData ElasticSearch");
article.setContent(i + "Spring Data ElasticSearch 基于 spring data API 简化 elasticSearch操作,将原始操作elasticSearch的客户端API 进行封装Spring Data为Elasticsearch Elasticsearch项目提供集成搜索引擎");
articleService.save(article);
}
}
/**
* 更新文档
*/
@Test
public void updateArticle() {
Article article = new Article();
article.setId(0);
article.setTitle("update1" + "测试SpringData ElasticSearch");
article.setContent("update1" + "Spring Data ElasticSearch 基于 spring data API 简化 elasticSearch操作,将原始操作elasticSearch的客户端API 进行封装Spring Data为Elasticsearch Elasticsearch项目提供集成搜索引擎");
articleService.save(article);
}
/**
* 删除文档
*/
@Test
public void deleteArticle() {
Article article = new Article();
article.setId(0);
articleService.delete(article);
}
/**
* 删除文档
*/
@Test
public void findAllPage() {
Pageable pageable = PageRequest.of(1, 10);
Page<Article> all = articleService.findAll(pageable);
for (Article article : all) {
System.out.println(article.toString());
}
}
/**
* 按条件查询
*/
@Test
public void findByTitle() {
String condition = "版本";
List<Article> articles = articleService.findByTitle(condition);
for (Article article : articles) {
System.out.println(article.toString());
}
}
/**
* 按条件分页查询
*/
@Test
public void findByTitlePage() {
String condition = "版本";
Pageable pageable = PageRequest.of(0, 10);
Page<Article> page = articleService.findByTitle(condition, pageable);
List<Article> articles = page.getContent();
for (Article article : articles) {
System.out.println(article.toString());
}
}
/**
* 按条件查询补集
*/
@Test
public void findByTitleNot() {
String condition = "版本1.1";
List<Article> articles = articleService.findByTitleNot(condition);
for (Article article : articles) {
System.out.println(article.toString());
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
elasticsearch操作模板Demo
共20个文件
xml:8个
class:5个
java:5个
需积分: 1 0 下载量 110 浏览量
2023-09-17
23:26:30
上传
评论
收藏 23KB ZIP 举报
温馨提示
elasticsearch操作模板Demo
资源推荐
资源详情
资源评论
收起资源包目录
elasticsearch_project.zip (20个子文件)
elasticsearch_project
pom.xml 3KB
src
test
java
com
itheima
test
SpringDataESTest.java 4KB
main
resources
applicationContext.xml 1KB
java
com
itheima
dao
ArticleRepository.java 702B
service
ArticleService.java 561B
impl
ArticleServiceImpl.java 1KB
entity
Article.java 1KB
elasticsearch_project.iml 81B
.idea
jarRepositories.xml 2KB
vcs.xml 188B
workspace.xml 15KB
misc.xml 526B
compiler.xml 554B
.gitignore 184B
target
classes
applicationContext.xml 1KB
com
itheima
dao
ArticleRepository.class 886B
service
ArticleService.class 856B
impl
ArticleServiceImpl.class 2KB
entity
Article.class 2KB
test-classes
com
itheima
test
SpringDataESTest.class 5KB
generated-test-sources
test-annotations
generated-sources
annotations
共 20 条
- 1
资源评论
谷大狼
- 粉丝: 87
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
- 以下是一个简化的示例,它使用pygame库来模拟烟花动画的框架.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功