您好,登錄后才能下訂單哦!
Elasticsearch簡介是什么,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
Elasticsearch7.2系列文章:https://www.xugj520.cn/category/ES/
為了搜索和分析,你懂得!!!
Elasticsearch是Elastic Stack核心的分布式搜索和分析引擎。Logstash和Beats有助于收集,聚合和豐富您的數據并將其存儲在Elasticsearch中。Kibana使您能夠以交互方式探索,可視化和分享數據洞察,并管理和監控堆棧。Elasticsearch是索引,搜索和分析魔術發生的地方。
Elasticsearch為所有類型的數據提供實時搜索和分析。無論您是結構化文檔還是非結構化文本,數字數據或地理空間數據,Elasticsearch都可以以支持快速搜索的方式有效地存儲和索引它。您可以遠遠超出簡單的數據檢索和聚合信息,以發現數據中的趨勢和模式。隨著您的數據和查詢量的增長,Elasticsearch的分布式特性使您的部署能夠與其一起無縫地增長。
雖然不是每個問題都是搜索問題,但Elasticsearch提供了處理各種用例數據的速度和靈活性:
將搜索框添加到應用或網站
存儲和分析日志,指標和安全事件數據
使用機器學習實時自動建模數據行為
使用Elasticsearch作為存儲引擎自動化業務工作流程
使用Elasticsearch作為地理信息系統(GIS)管理,集成和分析空間信息
使用Elasticsearch作為生物信息學研究工具存儲和處理遺傳數據 我們對人們使用搜索的新穎方式感到驚訝。但是,無論您的用例是否與其中一個相似,或者您使用Elasticsearch來解決新問題,您在Elasticsearch中處理數據,文檔和索引的方式都是相同的。
Elasticsearch是一個分布式文檔存儲。Elasticsearch不是將信息存儲為列數據行,而是存儲已經序列化為JSON文檔的復雜數據結構。當群集中有多個Elasticsearch節點時,存儲的文檔將分布在群集中,并且可以從任何節點立即訪問。
存儲文檔時,它會在1秒內實時索引并完全可搜索。Elasticsearch使用稱為倒排索引的數據結構,支持非常快速的全文搜索。倒排索引列出任何文檔中出現的每個唯一單詞,并標識每個單詞出現的所有文檔。
索引可以被視為優化的文檔集合,每個文檔都是字段的集合,這些字段是包含數據的鍵值對。默認情況下,Elasticsearch會為每個字段中的所有數據編制索引,并且每個索引字段都具有專用的優化數據結構。例如,文本字段存儲在反向索引中,數字和地理字段存儲在BKD樹中。使用每個字段的數據結構來匯編和返回搜索結果的能力使Elasticsearch如此之快。
Elasticsearch還具有無模式的能力,這意味著可以索引文檔而無需顯式指定如何處理文檔中可能出現的每個不同字段。啟用動態映射后,Elasticsearch會自動檢測并向索引添加新字段。這種默認行為使您可以輕松索引和瀏覽數據 - 只需開始索引文檔,Elasticsearch將檢測并將布爾值,浮點和整數值,日期和字符串映射到相應的Elasticsearch數據類型。
但是,最終,您比Elasticsearch更了解您的數據以及您希望如何使用它。您可以定義規則來控制動態映射并顯式定義映射,以完全控制字段的存儲和索引方式。
定義自己的映射使您能夠:
區分全文字符串字段和精確值字符串字段
執行特定于語言的文本分析
優化字段以進行部分匹配
使用自定義日期格式
使用諸如geo_point和geo_shape無法自動檢測的數據類型 為不同目的以不同方式索引相同字段通常很有用。例如,您可能希望將字符串字段索引為全文搜索的文本字段和用于排序或聚合數據的關鍵字字段。或者,您可以選擇使用多個語言分析器來處理包含用戶輸入的字符串字段的內容。
在索引期間應用于全文字段的分析鏈也在搜索時使用。查詢全文字段時,查詢文本在索引中查找術語之前會進行相同的分析。
雖然您可以將Elasticsearch用作文檔存儲并檢索文檔及其元數據,但真正的強大功能來自于能夠輕松訪問基于Apache Lucene搜索引擎庫構建的全套搜索功能。
Elasticsearch提供了一個簡單,一致的REST API,用于管理集群,索引和搜索數據。出于測試目的,您可以直接從命令行或通過Kibana中的Developer Console輕松提交請求。從您的應用程序中,您可以使用 Elasticsearch客戶端 作為您選擇的語言:Java,JavaScript,Go,.NET,PHP,Perl,Python或Ruby。
搜索您的數據 Elasticsearch REST API支持結合了兩者的結構化查詢,全文查詢和復雜查詢。結構化查詢類似于可以在SQL中構造的查詢類型。例如,您可以搜索索引中的gender和age字段,并按字段employee對匹配項進行排序hire_date。全文查詢查找與查詢字符串匹配的所有文檔,并按相關性對其進行返回 - 與搜索字詞的匹配程度。
除了搜索單個術語外,您還可以執行短語搜索,相似性搜索和前綴搜索,并獲取自動填充建議。
是否要搜索地理空間或其他數字數據?Elasticsearch將優化數據結構中的非文本數據編入索引,以支持高性能的地理和數字查詢。
您可以使用Elasticsearch的全面JSON樣式查詢語言(查詢DSL)訪問所有這些搜索功能。您還可以構建SQL樣式的查詢以在Elasticsearch內本地搜索和聚合數據,JDBC和ODBC驅動程序使各種第三方應用程序能夠通過SQL與Elasticsearch進行交互。
分析您的數據 通過Elasticsearch聚合,您可以構建復雜的數據摘要,并深入了解關鍵指標,模式和趨勢。聚合使您無法找到眾所周知的“大海撈針”,而是回答以下問題:
大海撈針有多少針?
針的平均長度是多少?
根據制造商細分的針的中位長度是多少?
在過去的六個月里,每天有多少針被加到草堆里? 您還可以使用聚合來回答更微妙的問題,例如:
你最受歡迎的針頭制造商是什么?
是否有任何異常或異常的針叢? 由于聚合利用了用于搜索的相同數據結構,因此它們也非常快。這使您可以實時分析和可視化數據。您的報告和儀表板會隨著數據更改而更新,以便您可以根據最新信息采取措施。
更重要的是,聚合與搜索請求一起運行。您可以在同一數據中,在單個請求中同時搜索文檔,過濾結果和執行分析。并且因為聚合是在特定搜索的上下文中計算的,所以您不僅要顯示所有70針的數量,而是顯示與用戶的搜索條件匹配的70針的數量 - 例如,所有尺寸70 不粘刺繡針。
但是等等,還有更多的 想要自動分析您的時間序列數據?您可以使用 機器學習功能在數據中創建正常行為的準確基線,并識別異常模式。通過機器學習,您可以檢測到:
與值,計數或頻率的時間偏差相關的異常 統計稀缺 一個人口的不尋常行為 最好的部分?您無需指定算法,模型或其他與數據科學相關的配置即可完成此操作。
Elasticsearch始終可用,可根據您的需求進行擴展。它通過自然分配來實現這一點。您可以將服務器(節點)添加到群集以增加容量,Elasticsearch會自動在所有可用節點上分配數據和查詢負載。無需徹底檢查您的應用程序,Elasticsearch了解如何平衡多節點群集以提供規模和高可用性。節點越多,越好。
這是如何運作的?在封面下,Elasticsearch索引實際上只是一個或多個物理分片的邏輯分組,其中每個分片實際上是一個自包含的索引。通過跨多個分片在索引中分發文檔,并將這些分片分布在多個節點上,Elasticsearch可以確保冗余,這可以防止硬件故障,并在節點添加到群集時提高查詢容量。隨著集群的增長(或收縮),Elasticsearch會自動遷移分片以重新平衡集群。
有兩種類型的分片:原色和副本。索引中的每個文檔都屬于一個主分片。副本分片是主分片的副本。副本提供數據的冗余副本,以防止硬件故障并增加服務讀取請求(如搜索或檢索文檔)的容量。
索引中的主分片數在創建索引時是固定的,但副本分片的數量可以隨時更改,而不會中斷索引或查詢操作。
這取決于... ...
關于分片大小和為索引配置的主分片數量,存在許多性能考慮因素和折衷方案。分片越多,維護這些索引的開銷就越大。分片大小越大,當Elasticsearch需要重新平衡群集時,移動分片所需的時間越長。
查詢大量小分片使得每個分片的處理速度更快,但查詢意味著更多的開銷,因此查詢較少數量的較大分片可能會更快。簡而言之......這取決于。
作為一個起點:
旨在將平均分片大小保持在幾GB到幾十GB之間。對于具有基于時間的數據的用例,通常會看到20GB到40GB范圍內的分片。
避免大量碎片問題。節點可以容納的分片數量與可用堆空間成比例。作為一般規則,每GB堆空間的分片數應小于20。 確定用例的最佳配置的最佳方法是 使用您自己的數據和查詢進行測試。
在容災的情況下 出于性能原因,群集中的節點需要位于同一網絡上。在不同數據中心的節點之間平衡群集中的分片只需要太長時間。但是高可用性架構要求您避免將所有雞蛋放在一個籃子里。如果在一個位置發生重大中斷,則另一個位置的服務器需要能夠接管。無縫連接。答案?跨群集復制(CCR)。
CCR提供了一種自動將索引從主群集同步到可作為熱備份的輔助遠程群集的方法。如果主群集出現故障,則輔助群集可以接管。您還可以使用CCR創建輔助群集,以便在地理位置接近用戶時提供讀取請求。
跨群集復制是主動 - 被動的。主群集上的索引是活動的leader索引并處理所有寫入請求。復制到輔助群集的索引是只讀關注者。
維護和管理 與任何企業系統一樣,您需要工具來保護,管理和監控您的Elasticsearch集群。集成到Elasticsearch中的安全性,監控和管理功能使您可以將Kibana 用作管理集群的控制中心。類似的特征數據匯總和指標生命周期管理 幫助您明智隨著時間的推移管理您的數據。
看完上述內容,你們掌握Elasticsearch簡介是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。