您好,登錄后才能下訂單哦!
這篇文章給大家介紹ElasticSearch簡介及使用指引是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
ES 簡介
Elasticsearch 是一個分布式、Restful 風格的搜索數據分析引擎,能夠解決常規和各種類型數據的存儲及檢索需求。作為ELK和ElasticStack的核心,它能夠集中存儲數據,通過Elasticsearch 能夠執行及合并多種類型的搜索(結構化數據、非結構化數據、地理位置、經緯度坐標等數據結構)。
ES 的特點和優勢
實時分析的分布式搜索引擎,分布式,索引拆分成多個分片,集群中的數據節點可以承載一個或多個分片,并且協調和處理各種操作,負載再平衡和路由大多數情況下自動完成。
支持插件機制,分詞插件、同步插件、Hadoop插件、可視化插件。
ES 一些基本概念
Cluster:集群。ES 可以作為一個獨立的單個搜索服務器。不過,為了處理大型數據集,實現容錯和高可用,ES可以運行在許多相互合作的服務器上,這些服務器上的 ES 實例集合成為集群。
Node:節點。形成集群的每個服務器上的實例分為節點。
Shard:分片。當有大量的文檔時,由于內存的限制、磁盤處理能力不足、無法足夠快的響應客戶端的請求等,一個節點可能不夠用,這種情況下,數據可以分為較小的分片,每個分片放到不同的服務器上,當查詢的索引分布在多個分片上時,ES 會把查詢發送給相關的分片,并將結果組合在一起,而應用程序不知道分片的存在,即:這個過程對用戶來說是透明的。
Replica:副本。為提高查詢吞吐量或實現高可用,可以使用分片副本,副本是一個分片的精確復制,每個分片可以有 0 個或者多個副本。
ES 與傳統數據庫對應關系
ES 和傳統關系型數據庫結構的一些對應關系
關系型數據 | Elasticsearch | 備注 |
---|---|---|
數據庫 Database | Index | |
表 Table | Type | 6.x 以上已不支持多 type |
記錄 Record | document | |
表結構 Scheme | mapping | |
列 Column | Field |
一級分類 | 二級分類 | 具體類型 |
---|---|---|
核心類型 | 字符串類型 | string, text, keyword |
整型類型 | integer, long, short, byte | |
浮點類型 | double, float, half_float, scaled_float | |
邏輯類型 | boolean | |
日期類型?? | date | |
范圍類型 | range(integer_range, float_range, long_range, double_range, date_range) | |
二進制類型 | binary | |
復合類型 | 對象類型 | object |
嵌套類型 | nested | |
地理類型 | 地理坐標類型 | Geo-point |
地理地圖? | Geo-shape | |
特殊類型 | IP 類型 | ip |
自動補全類型? | completion | |
統計類型 | token_count | |
附件類型 | attachement | |
過濾器類型 | percolator |
ES 的倒排索引
傳統關系型數據庫(以 MySQL 為例),其索引結構是查找樹(“B+”樹)結構,其葉子節點存儲索引數據域,其他節點進行查找索引。其索引過程是直接通過二叉查找樹找到對應記錄。可以理解為通過一列(主鍵索引)或幾列(組合索引)來查找對應記錄。
圖 1.MySQL "B+" Tree Index
而 ES 的索引確十分不同,它是將文檔(document)先經過一定的分詞器分詞之后,存儲分詞結果作為數據索引。倒排索引存儲的是文檔分詞結果與文檔之間的映射關系。
關于ElasticSearch簡介及使用指引是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。