一秀仲、檢索
我們的應(yīng)用經(jīng)常需要添加檢索功能,開源的 ElasticSearch 是目前全文搜索引擎的首選。他可以快速的存儲(chǔ)菇曲、搜索和分析海量數(shù)據(jù)。Spring Boot通過整合Spring Data ElasticSearch為我們提供了非常便捷的檢索功能支持抚吠;
Elasticsearch是一個(gè)分布式搜索服務(wù)常潮,提供Restful API,底層基于Lucene埃跷,采用多shard(分片)的方式保證數(shù)據(jù)安全蕊玷,并且提供自動(dòng)resharding的功能,github等大型的站點(diǎn)也是采用了ElasticSearch作為其搜索服務(wù)弥雹,
二垃帅、概念
以 員工文檔 的形式存儲(chǔ)為例:一個(gè)文檔代表一個(gè)員工數(shù)據(jù)。存儲(chǔ)數(shù)據(jù)到 ElasticSearch 的行為叫做 索引 剪勿,但在索引一個(gè)文檔之前贸诚,需要確定將文檔存儲(chǔ)在哪里。
一個(gè) ElasticSearch 集群可以 包含多個(gè) 索引 厕吉,相應(yīng)的每個(gè)索引可以包含多個(gè) 類型 酱固。 這些不同的類型存儲(chǔ)著多個(gè) 文檔 ,每個(gè)文檔又有 多個(gè) 屬性 头朱。
類似關(guān)系:
索引-數(shù)據(jù)庫
類型-表
文檔-表中的記錄
屬性-列
三运悲、整合ElasticSearch測(cè)試
- 引入spring-boot-starter-data-elasticsearch
<!--SpringBoot默認(rèn)使用SpringData ElasticSearch模塊進(jìn)行操作-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
-
安裝Spring Data 對(duì)應(yīng)版本的ElasticSearch
image.png -
application.yml配置
image.png - Spring Boot自動(dòng)配置的
ElasticsearchRepository、ElasticsearchTemplate项钮、Jest
測(cè)試ElasticSearch
注意:
#啟動(dòng)elasticsearch的docker指令
#docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 5acf0e8da90b
elasticsearch需要提前聲明號(hào)分配給他的內(nèi)存大小班眯,其默認(rèn)的內(nèi)存大小為2G
順便在這里說一下我的個(gè)人博客
天涯博客