今日熱聞!【ES三周年】寫給ES開發者的Elasticsearch入門指南
2023-02-09 19:55:59 來源:騰訊云
前言
眾所周知,在做開發的時候使用傳統的通過數據庫搜索查詢數據的方式的時候,如果數據庫數據不多的情況下還能比較正常的做好及時搜索的需求,但是隨著大數據的井噴式發展,數據量級幾乎是呈現指數增長,如果還是通過傳統的方式來進行搜索數據庫的數據,那就要等待非常久的時間來等待搜索結果,數據體量很大的情況下非常影響用戶的體驗,要想解決這種問題,使用的數據搜索引擎采用的是Elasticsearch來進行搜索的。那么本文就來分享一下Elasticsearch的使用入門,方便查閱使用。
Elasticsearch定義
首先,來了解一下Elasticsearch,它是一個分布式可擴展高實時的搜索和分析引擎,可以很輕松的讓高量級數據具有搜索分析和探尋能力,其自身的水平伸縮性可以讓數據在生產環境下具有更高價值。
【資料圖】
其次,Elasticsearch其實是一個建立在Apache Lucene全文搜索引擎基礎上的搜索引擎,它是基于RESTful web接口。一般情況下,Elasticsearch會和Logstash數據收集和日志解析引擎、Kibana分析和可視化平臺一起開發使用的,三者組成了一個集成解決方案,組合稱為“Elastic Stack”。其中,Elasticsearch 是位于Elastic Stack核心的分布式搜索和分析引擎;Logstash 和 Beats則是有助于收集、聚合和豐富用戶的數據并將其存儲在 Elasticsearch 中;Kibana 則是畫用戶能夠以交互方式探索、可視化和分享對數據的見解,并且進行管理和監控堆棧的操作。Elasticsearch支持分布式,所以不需要用戶配置注冊中心,只需提供一個RESTful web接口,就可以隨時調用該接口來使用Elasticsearch了。
最后,Elasticsearch是通過Java來實現的,而且是基于Apache許可條款下的開源產品,也是目前很流行的企業級搜索引擎。Elasticsearch設計用于云計算中,Elasticsearch 是索引、搜索和分析發生的地方,它能夠達到實時搜索,具有穩定、可靠、快速、安裝使用方便等特點。
Elasticsearch實現原理
Elasticsearch的實現其實過程不復雜,主要就是:首先,用戶把數據提交到Elasticsearch數據庫中,然后通過分詞控制器把對應的語句分詞處理,接著把其權重和分詞結果都存入到數據中,當用戶進行搜索數據的時候,根據權重把結果進行排序、打分處理,最后把返回的結果返回給用戶顯示。
Elasticsearch的作用
話又說回來了,文章開頭講到在實際開發中使用傳統的通過數據庫搜索查詢數據,如果數據不多的情況下能正常的做好及時搜索的需求,但是數據體量很大的時候使用傳統的方式來進行搜索數據庫的數據,那就要等待非常久的時間,這種情況下非常影響用戶的體驗,要想解決這樣的問題,就需要使用Elasticsearch來進行搜索查詢操作。
而且Elasticsearch 給所有類型的數據提供來一個近乎實時的搜索和分析功能且支持多租戶,無論是有結構化、非結構化文本、數字數據、地理空間數據,Elasticsearch 都能以快速搜索的方式高效地存儲和索引數據,可以用于搜索各種文檔。使用者可以超越簡單的數據檢索和聚合信息來發現數據中的趨勢和模式,隨著數據和查詢量的增加,Elasticsearch 的分布式特性讓部署能夠隨之無縫的增長。
且Elasticsearch是分布式的,意味著索引可以被分成分片的,比如每個分片可以有0個或多個副本;每個節點托管一個或多個分片,并且充當協調器將操作委托給正確的分片的。相關數據通常存儲在同一個索引中,這個索引是由一個或多個主分片和零個或多個復制分片組成,但是一經創建了索引,就不能更改主分片的數量。分布式實時文件存儲,并將每一個字段都編入索引,使其可以被搜索,是一個實時分析的分布式搜索引擎。
又有Elasticsearch支持實時GET請求,它比較適合作為NoSQL數據存儲,但是缺少分布式事務。Elasticsearch可以擴展到上百臺服務器,處理PB級別的結構化或非結構化數據,其實關于Elasticsearch只需要知道3個關鍵字:分布式、實時、搜索引擎,即可。
騰訊云ES
騰訊云 Elasticsearch Service(ES)是基于開源引擎打造的云端全托管 ELK 服務,集成 X-Pack 特性、獨有高性能自研內核、QQ 分詞、集群巡檢、一鍵升級等優勢能力,引入極致性價比的騰訊自研星星海服務器。輕松管理和運維集群,高效構建日志分析、運維監控、信息檢索、數據分析等業務。
Elasticsearch集群安裝
可以直接去騰訊云官網下載ES:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.zip。
然后下載Elasticsearch的鏡像,可以直接通過稻殼去下載:
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.1
還有filebeat鏡像和kibana鏡像的下載,同理:
docker pull docker.elastic.co/kibana/kibana:7.17.1
和
docker pull docker.elastic.co/beats/filebeat:7.17.1
注意:這里不在介紹安裝包的下載以及解壓,JDK安裝和環境變量的設置等基礎操作。
經過Elasticsearch的安裝,直接elasticsearch -d后臺執行,重啟服務之后即可。
Elasticsearch使用
由于篇幅問題,本文以Elasticsearch的查詢集群日志功能的簡單使用為例子來介紹。
經過上面的集群安裝之后需要進行一些提前準備工作:
1、注冊并登錄騰訊云官網,然后找到并進入https://console.cloud.tencent.com/es;
2、如果首次使用,需要新建創建“新建集群”,創建集群之后進入集群詳情;
3、集群詳情頁找到日志模塊,然后查看集群運行的日志信息;
4、通過騰訊云管理平臺可以按照時間范圍和關鍵字搜索來查詢對應的集群日志信息;
5、通過命令docker compose logs 來查看容器運行日志信息。
具體信息如下所示:
[root@chen]# docker compose logs |headefk-kibana-1 | {"type":"log","@timestamp":"2023-02-07T01:23:47+00:00","tags":["info","plugins-service"],"pid":7,"message":"Plugin "metrics" is disabled."}efk-kibana-1 | {"type":"log","@timestamp":"2023-01-20T01:23:47+00:00","tags":["info","http","server","Pre"],"pid":7,"message":"http server running at http://0.0.0.0:5601"}...
6、最后就是通過查詢集群日志來解決集群運行遇到的問題。
7、注意的地方。
1??設置索引
PUT */_settings{"index.indexing.slowlog.threshold.index.debug" : "5ms","index.indexing.slowlog.threshold.index.info" : "50ms","index.indexing.slowlog.threshold.index.warn" : "100ms","index.search.slowlog.threshold.fetch.debug" : "10ms","index.search.slowlog.threshold.fetch.info" : "50ms","index.search.slowlog.threshold.fetch.warn" : "100ms","index.search.slowlog.threshold.query.debug" : "100ms","index.search.slowlog.threshold.query.info" : "200ms","index.search.slowlog.threshold.query.warn" : "1s"}
2??查詢集群日志的關鍵字查詢語法和lucene的查詢語法一樣。
如制定關鍵詞:message:NAME,又如多條件組合查詢:level:INFO and ip:10.0.1.2。
3??Elasticsearch Service會默認開啟GC日志。
GC日志會展示日志的時間、節點IP、級別等信息。
最后
本文關于Elasticsearch入門指南的簡單介紹,想必讀者會有所收獲,Elasticsearch 自從誕生以來,它應用的地方越來越廣泛,特別是在大數據領域,功能也越來越強大。由于 Elasticsearch 集群的穩定性,決定了其業務發展的高度,對于一個應用來說其穩定是第一目標,比如騰訊云基于 Elasticsearch 構建的平臺服務,幫助電商應用程序、網站等提供安全、高可靠、低成本、低延時、高吞吐量的個性化搜索,使得 Elasticsearch 在更多的地方應用,讓我們期待Elasticsearch帶來的新的技術革命吧!
參考文獻
官方文檔:https://cloud.tencent.com/product/es?from=10680
關鍵詞:
推薦內容
- 當前頭條:極目快評|3胞胎姐妹同日出嫁,只需隨一
- 天天動態:安徽亳州多地市民凌晨聽到巨響,官方回應
- 國網鄂州供電公司推進“鄂電紅馬甲”服務落地,保
- 環球觀焦點:走進湖北大學體育學院 感受沙湖畔
- 世界快看:一盤棋系統化 武漢市加速推進多城環保
- 環保先行,頗爾助力百威實現啤酒無硅藻土膜過濾項
- 請把手機橫過來! 這是一幅長長長長……長的各族
- 焦點訊息:ChatGPT爆火背后冷思考:人工智能落地
- 增額終身壽險持續受熱捧 “富德生命傳世金尊保障
- 怎樣選擇成長股?成長股的股票有哪些?
- 共享共創共贏:恩施神農架襄陽攜手簽約創客協議
- 大亞灣海事局聯合鹽田海事局開展學雷鋒志愿服務活
- 【全球時快訊】華中地區最大載重噸原油船“長祥洲
- 西安班列再出發!西部陸海新通道持續助力企業出口
- 瓊州海峽2人騎水上自行車遇險被安全救起
- 世界觀點:滬蘇VTS覆蓋水域船舶 “一次性船位報
- 元培智庫正式更名為元培工匠專家谷
- 燕園人合集團董事長應邀實地考察魯中職業學院
- 全球熱頭條丨桓臺縣召開大整治大提升行動暨全域公
- 當前快訊:臥龍區應急管理局:全面開展2023年備汛
- 世界快看點丨黎黃陂路歷史文化街區入選國家級旅游
- 開往春天的大巴——山東理工大學62名畢業生走進淄
- 【全球熱聞】武漢周末最高氣溫將超過20℃
- 焦點簡訊:對中國負責、對世界負責的現代化新路(
- 當前信息:開局之年“hui”藍圖丨未來農業什么樣
- 全球微頭條丨平凡英雄|我是人大代表
- 環球看熱訊:梁倩娟:加大農產品深加工 讓農產品
- 觀速訊丨年入賬100億、門店超8200家,瑞幸急赴下
- 焦點快播:雙休日天氣晴好,最高溫沖上20℃+
- 好戲連臺迎兩會!這里有個超10萬人看戲的“大劇場
- 天天快看:@太原人!婦女節即將來臨 我省景區專
- 天天熱文:宜賓南溪區發揮統戰資源優勢助力鄉村教
- 環球熱點!武漢樓市回暖?2月新房成交創17年新高
- 指紋支付額度有限制嗎?指紋支付有什么要注意的?
- 如何設置指紋支付?指紋支付到底安全不安全?
- 法獅龍“頂墻一體·才高級”隱形變頻浴霸全國發布
- 全球觀熱點:中國博物館協會理事長劉曙光一行蒞臨
- 快資訊丨臨沂市體育局黨員志愿者到臨沭縣開展愛心
- 簡訊:先“成人”再“成才” 建立多元評價機制
- 天天視訊!“南粵21式”實在是高!哪招你最愛,快