国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Spring Boot 2.x(十七):快速入門Elastic Search

yangrd / 483人閱讀

摘要:極速的查詢速度通過有限狀態(tài)轉(zhuǎn)換器實(shí)現(xiàn)了用于全文檢索的倒排索引,實(shí)現(xiàn)了用于存儲數(shù)值數(shù)據(jù)和地理位置數(shù)據(jù)的樹,以及用于分析的列存儲。每個數(shù)據(jù)都被編入了索引。強(qiáng)大的彈性保障硬件故障。檢測這些故障并確保集群和數(shù)據(jù)的安全性和可用性。

What —— Elasticsearch是什么?

Elasticsearch是一個基于Lucene的搜索服務(wù)器,Elasticsearch也是使用Java編寫的,它的內(nèi)部使用Lucene做索引與搜索,但是它的目的是使用全文檢索變得簡單,通過隱藏Lucene的復(fù)雜性,取而代之的提供一套簡單一致的RESTful API。

Elasticsearch 不僅僅是 Lucene,并且也不僅僅只是一個全文搜索引擎。 它可以被下面這樣準(zhǔn)確的形容:

一個分布式的實(shí)時(shí)文檔存儲,每個字段 可以被索引與搜索

一個分布式實(shí)時(shí)分析搜索引擎

能勝任上百個服務(wù)節(jié)點(diǎn)的擴(kuò)展,并支持 PB 級別的結(jié)構(gòu)化或者非結(jié)構(gòu)化數(shù)據(jù)

面向文檔

Elasticsearch是面向文檔,即文檔是可以被索引的信息的基本單位,而文檔的格式是在NoSQL中常用的JSON,關(guān)于關(guān)系型數(shù)據(jù)庫和Elasticsearch之間一些名詞的關(guān)系的對應(yīng)可以用以下的表格來表示,方便我們后面的應(yīng)用:

關(guān)系型數(shù)據(jù)庫 Elasticsearch
Database Index
Table Type
Row Document
Column Field
Schema Mapping

這里需要注意的是文檔的格式不是固定的,同一個Type下的不同文檔可以擁有不同的格式

Why —— 為什么選擇Elasticsearch?

豐富的查詢方式——Elasticsearch能夠執(zhí)行及合并多種類型的搜索(結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、地理位置、指標(biāo)),搜索方式隨心而變。

極速的查詢速度——Elasticsearch通過有限狀態(tài)轉(zhuǎn)換器實(shí)現(xiàn)了用于全文檢索的倒排索引,實(shí)現(xiàn)了用于存儲數(shù)值數(shù)據(jù)和地理位置數(shù)據(jù)的 BKD 樹,以及用于分析的列存儲。每個數(shù)據(jù)都被編入了索引。

可觀的可擴(kuò)展性——Elasticsearch能夠水平擴(kuò)展,每秒鐘可處理海量事件,同時(shí)能夠自動管理索引和查詢在集群中的分布方式,可以在承載了 PB 級數(shù)據(jù)的成百上千臺服務(wù)器上運(yùn)行。

強(qiáng)大的彈性保障——硬件故障。網(wǎng)絡(luò)分割。Elasticsearch 檢測這些故障并確保集群(和數(shù)據(jù))的安全性和可用性。通過跨集群復(fù)制功能,輔助集群可以作為熱備份隨時(shí)投入使用。

How —— 如何在Spring Boot實(shí)戰(zhàn)中使用Elasticsearch? 安裝Elasticsearch

https://www.elastic.co/cn/dow...

這里我們選擇的是6.2.2版本的ES,因?yàn)槲以趕pring-data-elasticsearch的github上看到最新版本的支持的ES是6.2.2

其中3.2.x版本尚未發(fā)布正式版,所以這里選擇了最新的3.1.8版本,下面我們切換到安裝目錄的bin目錄下,啟動es:

./elasticsearch &

這里添加 & 符號的作用是讓它在后臺運(yùn)行。

看到這個就說明啟動成功了~

安裝中文分詞器iK

因?yàn)?,在我們?nèi)粘5膽?yīng)用中,我們用的比較多的都是中文的分詞,所以這里我們需要一個中文的分詞器

首先前往github上下載與ES版本對應(yīng)的zip包

https://github.com/medcl/elas...

然后在es的安裝目錄下的plugins下新建一個ik的目錄,將zip包解壓到該目錄下重啟es即可~

在es的啟動日志中看到這個說明插件已經(jīng)安裝并啟動成功!
到這里,我們的前期準(zhǔn)備工作就已經(jīng)結(jié)束了,下面的就是在Spring Boot項(xiàng)目中進(jìn)行操作了~

添加pom依賴

我們首先在pom.xml中添加spring-data-elasticsearch的依賴(敲黑板??!這里的版本一定要去參考一下對應(yīng)的ES的版本,不然就會引起版本兼容性問題而報(bào)錯?。?/p>

      
            org.springframework.data
            spring-data-elasticsearch
            3.1.8.RELEASE
        

依賴已經(jīng)添加完畢,下面我們就通過簡單的配置來完成CRUD

CRUD

這里的配置需要注意一個點(diǎn),我們訪問的9200是HTTP的端口號,而使用Java的時(shí)候需要配置成9300:

spring:
  data:
    elasticsearch:
      cluster-name: my-applicatioon
      cluster-nodes: 127.0.0.1:9300

在啟動日志中,我們可以看到這一點(diǎn):

然后我們通過注解來完成一個index和mapping的創(chuàng)建(即對應(yīng)關(guān)系型數(shù)據(jù)庫中的庫和表)

@Data
@Document(indexName = "test",type = "article")
public class Article implements Serializable {

    private Long id;

    @Field(type= FieldType.Text,analyzer = "ik_max_word")
    private String title;

    private String content;
}

@Filed注解中的屬性可以對分詞器進(jìn)行配置analyzer = "ik_max_word",這樣就可以在查詢標(biāo)題的時(shí)候使我們的中文分詞器了~

這樣,我們就創(chuàng)建了一個index(database)名為test,并新建一個type(table)名為article。

下面,我們?nèi)绻胍瓿蒀RUD,只需要創(chuàng)建一個接口去繼承ElasticsearchRepository即可,如下:

public interface ESDao extends ElasticsearchRepository {
}

然后,我們就可以在我們項(xiàng)目這樣去用了~

和JPA一樣方便,我們這時(shí)就可以把ES當(dāng)做MySQL去操作即可~

項(xiàng)目中用到的對應(yīng)版本的包我已經(jīng)上傳到了百度網(wǎng)盤,關(guān)注公眾號回復(fù)“ES”即可獲取。
完整的Demo代碼我已經(jīng)上傳到了github,歡迎fork star pr

https://github.com/viyog/viboot

原創(chuàng)不易,謝謝支持!

公眾號

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/76121.html

相關(guān)文章

  • 慕課網(wǎng)_《ElasticSearch入門》學(xué)習(xí)總結(jié)

    摘要:時(shí)間年月日星期四說明本文部分內(nèi)容均來自慕課網(wǎng)。那么里面的數(shù)據(jù)就可以分為各種各樣的索引,比如汽車索引圖書索引家具索引等等。圖書索引又可以細(xì)分為各種類型,比如科普類小說類技術(shù)類等等。具體到每一本書籍,就是文檔,就是整個圖書里面最小的存儲單位。 時(shí)間:2017年09月14日星期四說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)源碼:無學(xué)習(xí)源碼:https...

    notebin 評論0 收藏0
  • Elastic Search搜索引擎在SpringBoot中的實(shí)踐

    摘要:注本文首發(fā)于公眾號,可長按或掃描下面的小心心來訂閱實(shí)驗(yàn)環(huán)境版本版本首先當(dāng)然需要安裝好環(huán)境,最好再安裝上可視化插件來便于我們直觀地查看數(shù)據(jù)。 showImg(https://segmentfault.com/img/remote/1460000015723674); 注: 本文首發(fā)于 My 公眾號 CodeSheep ,可 長按 或 掃描 下面的 小心心 來訂閱 ↓ ↓ ↓ showI...

    Me_Kun 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<