springboot检索之整合elasticsearch并使用spring-data操作
时间:2022-07-23
本文章向大家介绍springboot检索之整合elasticsearch并使用spring-data操作,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
各种过时,版本不兼容,只能暂时将代码放在这先做参考了。
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
Book.java
package com.gong.spingbootes.bean;
import org.springframework.data.elasticsearch.annotations.Document;
//这里必须指明索引名字和类型
@Document(indexName = "gong",type = "book")
public class Book {
private Integer id;
private String bookName;
private String author;
public Book(){}
public Book(Integer id, String bookName, String author) {
this.id = id;
this.bookName = bookName;
this.author = author;
}
@Override
public String toString() {
return "Book{" +
"id=" + id +
", bookName='" + bookName + ''' +
", author='" + author + ''' +
'}';
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}
BookRepository.java
package com.gong.spingbootes.repository;
import com.gong.spingbootes.bean.Book;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
import java.util.List;
//第一个泛型是对象类型,第二个泛型是book的主键
public interface BookRepository extends ElasticsearchRepository<Book,Integer>{
//这里的名字不是随意取的,而是根据查询需求来取的,具体可参考相关文档
public List<Book> findByBookNameLike(String bookName);
}
application.properties
spring.data.elasticsearch.cluster-name=elasticsearch
spring.data.elasticsearch.cluster-nodes=192.168.124.22
#这两玩意过时了
SpringbootEsApplicationTests.java
package com.gong.spingbootes;
import com.gong.spingbootes.bean.Article;
import com.gong.spingbootes.bean.Book;
import com.gong.spingbootes.repository.BookRepository;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpingbootEsApplicationTests {
@Autowired
BookRepository bookRepository;
@Test
public void contextLoads() {
}
//添加索引
@Test
public void index() {
bookRepository.index(new Book(1,"java","德玛"));
}
//进行查询
@Test
public void search() {
bookRepository.findByBookNameLike("ja");
}
}
- Flash/Flex学习笔记(39):弹性运动
- 兼容Mono的下一代云环境Web开发框架ASP.NET vNext
- ASP.NET vNext 概述
- 丰富排版页面——为你的wordpress主题添加短代码形式美化框
- 开放式管理基础结构 OMI
- 人类设计了游戏和AI 2017年AI在游戏中打败了人类
- WordPress 代码实现相关文章(列表模式)功能
- 自动刷新页面
- Python语言被列入全国计算机等级考试科目中
- WordPress纯代码高仿 无觅相关文章 图文模式功能
- 各种序列化库的性能数据
- WordPress内置搜索结果只有一篇文章时自动跳转到该文章
- Flash/Flex学习笔记(23):运动学原理
- WordPress重定向作者归档链接到“关于”页面
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 《求求大厂给个Offer》Map面试题
- C语言 | 每日基础(40)
- kubernete编排技术七:secret
- springcloud+eureka整合seata-tcc模式
- 【源码】手把手教你用Python实现Vivado和ModelSim仿真自动化
- typescript基础篇(7):类型检查机制
- 说来惭愧,我被ulimit摔了一跤...
- Kubectl 备忘录
- 手把手教你移动端AI应用开发(二)——将AI模型集成到安卓应用中
- Kubernetes v1.19.0 正式发布!
- 七夕节脱单“神助攻”!AI教你写情话
- 手把手教你移动端AI应用开发(三)——部署环节关键代码最详解读
- 一次完整的JVM堆外内存泄漏故障排查记录
- Python 爬虫进阶必备 | 某视频数据分析平台加密参数分析(终于我还是手把手扣了代码)
- Python 爬虫进阶必备 | 某视频平台 sign 加密参数分析