Elasticsearch 是一個分布式的基于 RESTful 接口的搜尋和分析引擎,它能夠解決越來越多的使用場景。作為 Elastic Stack 的核心,它集中存儲資料,可以發現預期及之外的結果。
Elasticsearch 是一個分布式、RESTful 風格的搜尋和資料分析引擎,能夠解決不斷湧現出的各種用例。作為 Elastic Stack 的核心,它集中存儲您的資料,幫助您發現意料之中以及意料之外的情況。
<code>查詢</code> 保持好奇心。從資料中探尋各種問題的答案。
通過 Elasticsearch,您能夠執行及合并多種類型的搜尋(結構化資料、非結構化資料、地理位置、名額),搜尋方式随心而變。先從一個簡單的問題出發,試試看能夠從中發現些什麼。
<code>分析</code> 大處着眼,全局在握。
找到與查詢最比對的十個文檔是一回事。但如果面對的是十億行日志,又該如何解讀呢?Elasticsearch 聚合讓您能夠從大處着眼,探索資料的趨勢和模式。
<code>速度</code> Elasticsearch 很快。 快到不可思議。
如果您能夠立即獲得答案,您與資料的關系就會發生變化。這樣您就有條件進行疊代并涵蓋更大的範圍。
但是要達到這樣的速度并非易事。我們通過有限狀态轉換器實作了用于全文檢索的反向索引,實作了用于存儲數值資料和地理位置資料的 BKD 樹,以及用于分析的列存儲。
而且由于每個資料都被編入了索引,是以您再也不用因為某些資料沒有索引而煩心。您可以用快到令人驚歎的速度使用和通路您的所有資料。
<code>可擴充性</code> 可以在筆記本電腦上運作。 也可以在承載了 PB 級資料的成百上千台伺服器上運作。
原型環境和生産環境可無縫切換;無論 Elasticsearch 是在一個節點上運作,還是在一個包含 300 個節點的叢集上運作,您都能夠以相同的方式與 Elasticsearch 進行通信。
它能夠水準擴充,每秒鐘可處理海量事件,同時能夠自動管理索引和查詢在叢集中的分布方式,以實作極其流暢的操作。
<code>彈性</code> 我們在您高飛的時候保駕護航。
硬體故障。網絡分割。Elasticsearch 為您檢測這些故障并確定您的叢集(和資料)的安全性和可用性。通過跨叢集複制功能,輔助叢集可以作為熱備份随時投入使用。
Elasticsearch 運作在一個分布式的環境中,從設計之初就考慮到了這一點,目的隻有一個,讓您永遠高枕無憂。
<code>靈活性</code> 具備多個案例場景?一個全有。
數字、文本、地理位置、結構化資料、非結構化資料。歡迎使用所有資料類型。
應用搜尋、安全分析、名額或日志分析隻是全球衆多公司利用 Elasticsearch 解決各種挑戰的冰山一角。
<code>操作的樂趣</code> 享受更多成功的時刻,告别垂頭喪氣的失落
簡單的事情就該簡單做。我們確定 Elasticsearch 在任何規模下都能夠易于操作,而無需在功能和性能方面做出犧牲。
<code>用戶端庫</code> 使用您自己的程式設計語言與 Elasticsearch 進行互動
Elasticsearch 使用的是标準的 RESTful 風格的 API 和 JSON。此外,我們還建構和維護了很多其他語言的用戶端,例如 Java、Python、.NET、SQL 和 PHP。與此同時,我們的社群也貢獻了很多用戶端。這些用戶端使用起來簡單自然,而且就像 Elasticsearch 一樣,不會對您的使用方式進行限制。
<code>盡享強大功能</code> 延展 Elasticsearch
為您的叢集添加使用者名和密碼,監控 Elasticsearch 的性能表現,通過運作 Machine Learning 任務來發現異常等等,這些特性盡在 Elastic Stack 内置的多項功能。
通過 Security、Monitoring、Alerting、Reporting、Graph 關聯分析和 Machine Learning 等功能,獲得更優的使用體驗。
<code>HADOOP 和 SPARK</code> Elasticsearch 加 Hadoop
Hadoop 中有大量資料?您可以使用 Elasticsearch-Hadoop (ES-Hadoop)連接配接器,利用 Elasticsearch 的實時搜尋和分析功能處理您的大資料。這是兩大領域最大優勢的融合。
叢集:是由一個或者多個ES節點組成的集合。 每一個叢集都有一個唯一的名字,預設是ElasticSearch。每個節點也都有唯一名字。
叢集和節點
索引: 含有相同屬性的文檔集合,比如産品的索引,使用者的索引等
類型:索引可以定義一個或多個類型,文檔必須屬于一個類型(一般會定義有相同字段的文檔為一個類型)
文檔:文檔是可以被所有的基本資料機關,是整個ES中最小的存儲機關
==索引在Es中是通過一個名字來識别的,而且它的名字必須是 英文字母小寫,且不能有中劃線。==
都是通過這個名字來進行增删查改。
<col>
ES
資料庫
索引
執行個體database
類型
表-table
文檔
一行記錄
舉例:圖書索引 ---> 文學類型、技能類型...---->每一本書可以看成一個文檔
分片: 每個索引都有多個分片,每個分片是一個Lucene索引
分片的好處:假如資料量很大的話,就會造成硬碟的壓力很大,同時搜尋速度也會出現瓶頸,将索引分成多個分片,進而分攤壓力提供效率。
備份:拷貝一份分片就完成了分片的備份,提供可用性
ES預設在建立索引的時候,會建立5個分片,1個備份。這個預設的數量是可以修改的。
number_of_shards: 每個索引的主分片數,預設值是 5 。這個配置在索引建立後不能修改。
number_of_replicas:每個主分片的副本數,預設值是 1 。對于活動的索引庫,這個配置可以随時修改。
==注意==:索引的分片隻能在建立索引的時候指定,而不能再後期進行修改。備份是可以動态修改的。
https://www.meiwen.com.cn/subject/mqhhiftx.html
zhuanlan.zhihu.com/p/58966889
僅為記錄學習之用,感謝分享!