项目简介:初探springboot整合Elasticsearch检索功能,实现新增索引,检索功能。
需要源码,请加微信号,进技术交流群,发送springboot109,免费获取此文章源码。
1. 新建工程,选择web,thymeleaf,SpringData Elasticsearch
2. 查看依赖jar包中spring-data-elasticsearch版本是3.2.4,elasticsearch版本应该是6.8.6。因此我把我本机docker中的elasticsearch也安装为6.8.6版本
docker pull elasticsearch:6.8.6
3.给application.properties中添加
spring.data.elasticsearch.cluster-name=docker-cluster
spring.data.elasticsearch.cluster-nodes=127.0.0.1:9200
其中:cluster-name是elasticsearch的信息(在地址栏里输入127.0.0.1:9200,出现的cluster_name的内容)
cluster-nodes是elasticsearch地址端口
4.以上步骤完成后,直接启动应用,如下图所示adding transport node:127.0.0.1:9200,则表示启动正常。
5.新增bean文件夹,添加Article类,并加Document注解明确索引是whale,类型是article
@Document(indexName = "whale", type="article")
public class Article {
private Integer id;
private String author;
private String title;
private String content;
//添加get,set函数,此处忽略
}
6.新增repository 文件夹,添加BookRepository接口,代码如下
public interface BookRepository extends ElasticsearchRepository
{
}
7.在ElasticApplicationTests 测试类中添加如下代码。
@SpringBootTest
class ElasticApplicationTests {
@Autowired
ArticleRepository articleRepository;
@Test
void contextLoads() {
}
@Test
public void test()
{
Article article=new Article();
article.setId(1);
article.setAuthor("whale");
article.setTitle("springboot开发指南-elasticsearch");
article.setContent("ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口");
articleRepository.index(article);
}
}
8.运行test方法,无问题
9.在浏览器里输入http://127.0.0.1/whale/article/_search,显示所有查询结果
http://127.0.0.1/whale/article/1,查询id为1的结果