国产在线视频精品视频,国产亚洲精品久久久久久青梅 ,国产麻豆精品一区,国产真实乱对白精彩久久,国产精品视频一区二区三区四

加載中...
您的位置:首頁 >焦點 > 正文

今日熱聞!【ES三周年】寫給ES開發(fā)者的Elasticsearch入門指南

2023-02-09 19:55:59 來源:騰訊云

前言

眾所周知,在做開發(fā)的時候使用傳統(tǒng)的通過數(shù)據(jù)庫搜索查詢數(shù)據(jù)的方式的時候,如果數(shù)據(jù)庫數(shù)據(jù)不多的情況下還能比較正常的做好及時搜索的需求,但是隨著大數(shù)據(jù)的井噴式發(fā)展,數(shù)據(jù)量級幾乎是呈現(xiàn)指數(shù)增長,如果還是通過傳統(tǒng)的方式來進行搜索數(shù)據(jù)庫的數(shù)據(jù),那就要等待非常久的時間來等待搜索結(jié)果,數(shù)據(jù)體量很大的情況下非常影響用戶的體驗,要想解決這種問題,使用的數(shù)據(jù)搜索引擎采用的是Elasticsearch來進行搜索的。那么本文就來分享一下Elasticsearch的使用入門,方便查閱使用。

Elasticsearch定義

首先,來了解一下Elasticsearch,它是一個分布式可擴展高實時的搜索和分析引擎,可以很輕松的讓高量級數(shù)據(jù)具有搜索分析和探尋能力,其自身的水平伸縮性可以讓數(shù)據(jù)在生產(chǎn)環(huán)境下具有更高價值。


【資料圖】

其次,Elasticsearch其實是一個建立在Apache Lucene全文搜索引擎基礎(chǔ)上的搜索引擎,它是基于RESTful web接口。一般情況下,Elasticsearch會和Logstash數(shù)據(jù)收集和日志解析引擎、Kibana分析和可視化平臺一起開發(fā)使用的,三者組成了一個集成解決方案,組合稱為“Elastic Stack”。其中,Elasticsearch 是位于Elastic Stack核心的分布式搜索和分析引擎;Logstash 和 Beats則是有助于收集、聚合和豐富用戶的數(shù)據(jù)并將其存儲在 Elasticsearch 中;Kibana 則是畫用戶能夠以交互方式探索、可視化和分享對數(shù)據(jù)的見解,并且進行管理和監(jiān)控堆棧的操作。Elasticsearch支持分布式,所以不需要用戶配置注冊中心,只需提供一個RESTful web接口,就可以隨時調(diào)用該接口來使用Elasticsearch了。

最后,Elasticsearch是通過Java來實現(xiàn)的,而且是基于Apache許可條款下的開源產(chǎn)品,也是目前很流行的企業(yè)級搜索引擎。Elasticsearch設(shè)計用于云計算中,Elasticsearch 是索引、搜索和分析發(fā)生的地方,它能夠達到實時搜索,具有穩(wěn)定、可靠、快速、安裝使用方便等特點。

Elasticsearch實現(xiàn)原理

Elasticsearch的實現(xiàn)其實過程不復(fù)雜,主要就是:首先,用戶把數(shù)據(jù)提交到Elasticsearch數(shù)據(jù)庫中,然后通過分詞控制器把對應(yīng)的語句分詞處理,接著把其權(quán)重和分詞結(jié)果都存入到數(shù)據(jù)中,當(dāng)用戶進行搜索數(shù)據(jù)的時候,根據(jù)權(quán)重把結(jié)果進行排序、打分處理,最后把返回的結(jié)果返回給用戶顯示。

Elasticsearch的作用

話又說回來了,文章開頭講到在實際開發(fā)中使用傳統(tǒng)的通過數(shù)據(jù)庫搜索查詢數(shù)據(jù),如果數(shù)據(jù)不多的情況下能正常的做好及時搜索的需求,但是數(shù)據(jù)體量很大的時候使用傳統(tǒng)的方式來進行搜索數(shù)據(jù)庫的數(shù)據(jù),那就要等待非常久的時間,這種情況下非常影響用戶的體驗,要想解決這樣的問題,就需要使用Elasticsearch來進行搜索查詢操作。

而且Elasticsearch 給所有類型的數(shù)據(jù)提供來一個近乎實時的搜索和分析功能且支持多租戶,無論是有結(jié)構(gòu)化、非結(jié)構(gòu)化文本、數(shù)字數(shù)據(jù)、地理空間數(shù)據(jù),Elasticsearch 都能以快速搜索的方式高效地存儲和索引數(shù)據(jù),可以用于搜索各種文檔。使用者可以超越簡單的數(shù)據(jù)檢索和聚合信息來發(fā)現(xiàn)數(shù)據(jù)中的趨勢和模式,隨著數(shù)據(jù)和查詢量的增加,Elasticsearch 的分布式特性讓部署能夠隨之無縫的增長。

且Elasticsearch是分布式的,意味著索引可以被分成分片的,比如每個分片可以有0個或多個副本;每個節(jié)點托管一個或多個分片,并且充當(dāng)協(xié)調(diào)器將操作委托給正確的分片的。相關(guān)數(shù)據(jù)通常存儲在同一個索引中,這個索引是由一個或多個主分片和零個或多個復(fù)制分片組成,但是一經(jīng)創(chuàng)建了索引,就不能更改主分片的數(shù)量。分布式實時文件存儲,并將每一個字段都編入索引,使其可以被搜索,是一個實時分析的分布式搜索引擎。

又有Elasticsearch支持實時GET請求,它比較適合作為NoSQL數(shù)據(jù)存儲,但是缺少分布式事務(wù)。Elasticsearch可以擴展到上百臺服務(wù)器,處理PB級別的結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù),其實關(guān)于Elasticsearch只需要知道3個關(guān)鍵字:分布式、實時、搜索引擎,即可。

騰訊云ES

騰訊云 Elasticsearch Service(ES)是基于開源引擎打造的云端全托管 ELK 服務(wù),集成 X-Pack 特性、獨有高性能自研內(nèi)核、QQ 分詞、集群巡檢、一鍵升級等優(yōu)勢能力,引入極致性價比的騰訊自研星星海服務(wù)器。輕松管理和運維集群,高效構(gòu)建日志分析、運維監(jiān)控、信息檢索、數(shù)據(jù)分析等業(yè)務(wù)。

Elasticsearch集群安裝

可以直接去騰訊云官網(wǎng)下載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安裝和環(huán)境變量的設(shè)置等基礎(chǔ)操作。

經(jīng)過Elasticsearch的安裝,直接elasticsearch -d后臺執(zhí)行,重啟服務(wù)之后即可。

Elasticsearch使用

由于篇幅問題,本文以Elasticsearch的查詢集群日志功能的簡單使用為例子來介紹。

經(jīng)過上面的集群安裝之后需要進行一些提前準備工作:

1、注冊并登錄騰訊云官網(wǎng),然后找到并進入https://console.cloud.tencent.com/es;

2、如果首次使用,需要新建創(chuàng)建“新建集群”,創(chuàng)建集群之后進入集群詳情;

3、集群詳情頁找到日志模塊,然后查看集群運行的日志信息;

4、通過騰訊云管理平臺可以按照時間范圍和關(guān)鍵字搜索來查詢對應(yīng)的集群日志信息;

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??設(shè)置索引

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??查詢集群日志的關(guān)鍵字查詢語法和lucene的查詢語法一樣。

如制定關(guān)鍵詞:message:NAME,又如多條件組合查詢:level:INFO and ip:10.0.1.2。

3??Elasticsearch Service會默認開啟GC日志。

GC日志會展示日志的時間、節(jié)點IP、級別等信息。

最后

本文關(guān)于Elasticsearch入門指南的簡單介紹,想必讀者會有所收獲,Elasticsearch 自從誕生以來,它應(yīng)用的地方越來越廣泛,特別是在大數(shù)據(jù)領(lǐng)域,功能也越來越強大。由于 Elasticsearch 集群的穩(wěn)定性,決定了其業(yè)務(wù)發(fā)展的高度,對于一個應(yīng)用來說其穩(wěn)定是第一目標(biāo),比如騰訊云基于 Elasticsearch 構(gòu)建的平臺服務(wù),幫助電商應(yīng)用程序、網(wǎng)站等提供安全、高可靠、低成本、低延時、高吞吐量的個性化搜索,使得 Elasticsearch 在更多的地方應(yīng)用,讓我們期待Elasticsearch帶來的新的技術(shù)革命吧!

參考文獻

官方文檔:https://cloud.tencent.com/product/es?from=10680

關(guān)鍵詞:

推薦內(nèi)容