elasticsearch 入門學習

2021-08-19 11:53:47 字數 1202 閱讀 6016

原文:

(1)思考:大規模資料如何檢索

當系統資料量上了10億、100億條的時候,我們在做系統架構的時候通常會從以下角度去考慮問題:

(2)傳統資料庫的應對解決方案

對於關係型資料,我們通常採用以下或類似架構去解決查詢瓶頸和寫瓶頸:

(3)非關係型資料庫的解決方案

對於nosql資料庫,以mongdb為例,其它原理類似:

為了解決問題,通常會從以下方式來尋找方法:

(1)儲存資料時按有序儲存

(2)將資料和索引分離

(3)壓縮資料

這就引出一elasticsearch。

elasticsearch是乙個開源的高擴充套件的分布式全文檢索引擎,它可以近乎實時的儲存、檢索資料,可擴充套件性好。使用lucenne作來核心,但它的目的是通過restful api來隱藏lucene的複雜性,從而讓全文搜尋變得簡單。

1.解決主要問題

(1)檢索相關資料

(2)返回統計結果

(3)速度更快

2. 工作原理

當es節點啟動後,它會利用多播(或者單播,如查使用者更改了配置)尋找集群中的其它節點,並與之建立連線。

3. 概念

(1)集群cluster

(2)節點node

(3)分片shard

當有大量的文件時,由於記憶體的限制、磁碟處理能力不足、無法足夠快的響應客戶端的請求等,乙個節點可能不夠,這種情況下,資料可以分成較小的分片,每個分片放在不同的伺服器上。當你查詢的索引分布在多個分片時,es會把查詢發給每個相關的分片,並將結果組合在一起。

(4)副本replia

副本是乙個分片的精確複製,每個分片可以有0或多個副本。

(5)全文檢索

可以根據關鍵字搜尋,類似sql中的like。

4.es資料架構的主要概念(與mysql對比)

ElasticSearch使用入門

es的安裝 啟動 cd.elasticsearch 2 4 3 bin elasticsearch bin elasticsearch d 後台執行 es安裝驗證 注意 預設啟動的時候es繫結的網路ip是本機127.0.0.1,只能通過這個ip訪問 兩種修改方式 1 修改config elastic...

elasticsearch學習入門

由於es更新很快,本文這類快餐式的記錄僅供參考 es的官網有比較全面的api,但我看過以後感覺api的層次還是有點亂,至少沒有mongodb的文件那麼簡單易讀。從簡單的應用開始慢慢認識es的。比如要搭建個中文新聞資訊的搜尋引擎,新聞有 標題 內容 作者 型別 發布時間 這五個字段 我們要提供 標題和...

Elasticsearch入門總結

檢索方式 倒排索引掃瞄 全文檢索 lucene 傳統查詢 倒排索引 field域 字段 型別 引入 1.引入座標 com.janeluogroupid ikanalyzerartifactid 2012 u6version dependency 2.將ext.dic擴充套件詞典 ikanalyzer...