SpringBoot与检索

ElasticSearch

一、检索

我们的应用经常需要添加检索功能,开源的 ElasticSearch 是目前全文搜索引擎的首选。他可以快速的存储、搜索和分析海量数据。Spring Boot通过整合SpringData ElasticSearch为我们提供了非常便捷的检索功能支持;
Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard(分片)的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也是采用了ElasticSearch作为其搜索服务,

1.使用Docker下载ElasticSearch:

客户端使用ip:9200即可访问:

二、概念

• 以 员工文档 的形式存储为例:一个文档代表一个员工数据。存储数据到ElasticSearch 的行为叫做 索引 ,但在索引一个文档之前,需要确定将文档存储在哪里。
• 一个 ElasticSearch 集群可以 包含多个 索引 ,相应的每个索引可以包含多个 类型 。 这些不同的类型存储着多个 文档 ,每个文档又有 多个 属性 。
• 类似关系:
– 索引-数据库
– 类型-表
– 文档-表中的记录

– 属性-列

文档地址:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

三、整合ElasticSearch测试

• 引入spring-boot-starter-data-elasticsearch
• 安装Spring Data 对应版本的ElasticSearch
• application.yml配置
• Spring Boot自动配置的
ElasticsearchRepository、ElasticsearchTemplate、Jest
• 测试ElasticSearch

操作ElasticSearch有2中方式:

1.使用Jest方式,参考文档:https://github.com/searchbox-io/Jest

2.Spring Data 对应版本的ElasticSearch操作

问题1:版本适配:https://github.com/spring-projects/spring-data-elasticsearch

使用文档:https://github.com/spring-projects/spring-data-elasticsearch

https://docs.spring.io/spring-data/elasticsearch/docs/2.1.13.RELEASE/reference/html/

猜你喜欢

转载自blog.csdn.net/qq_35508033/article/details/80736533
今日推荐