中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

滄州北京網(wǎng)站建設(shè)杭州網(wǎng)站推廣優(yōu)化公司

滄州北京網(wǎng)站建設(shè),杭州網(wǎng)站推廣優(yōu)化公司,醫(yī)院網(wǎng)站建設(shè)需要注意什么,莆田山亭鄉(xiāng)建設(shè)局網(wǎng)站一、什么是Elasticsearch Elasticsearch(簡稱ES)是一款非常強大的開源搜索引擎,可以幫助我們從海量數(shù)據(jù)中快速找到需要的內(nèi)容。它使用Java編寫,基于Apache Lucene來構(gòu)建索引和提供搜索功能,是一個分布式、可擴展、近實…

一、什么是Elasticsearch

Elasticsearch(簡稱ES)是一款非常強大的開源搜索引擎,可以幫助我們從海量數(shù)據(jù)中快速找到需要的內(nèi)容。它使用Java編寫,基于Apache Lucene來構(gòu)建索引和提供搜索功能,是一個分布式、可擴展、近實時的高性能搜索與數(shù)據(jù)分析引擎。

1、Elasticsearch用在哪些場景?

我們想想一下,例如我們?nèi)ithub上去搜索一些倉庫,它去搜索的時候,不僅僅是把相關(guān)的倉庫搜索出來,還可以把你搜索的關(guān)鍵字所在的相關(guān)代碼塊展示出來,并進行了高亮顯示,非常智能:

又例如我們?nèi)ゾ〇|上買東西,輸入商品信息后,網(wǎng)站立馬就會顯示出和我們輸入的關(guān)鍵字有關(guān)的商品,例如下圖輸入“iPhone”后,下面商品搜索出與蘋果手機相關(guān)的商品,并且“iPhone”這個字還會高亮顯示:

還比如,我們平時編程時遇到一些問題,肯定會去百度和谷歌一下,找相關(guān)問題的答案。在搜索引擎中輸入相關(guān)問題描述,下面就會顯示和這個問題相關(guān)的答案,并且和搜索關(guān)鍵字相關(guān)的內(nèi)容也會被高亮顯示:

甚至是在我們平時打車的時候,我們搜索附近車輛的時候,每一輛車所在的位置也是搜索范圍,是否是我們所在區(qū)域關(guān)鍵字的位置的車,為我們匹配最近的車輛:

以上的這些場景,Elasticsearch都可以實現(xiàn)。

2、Elastic stack(ELK)技術(shù)棧介紹

Elasticsearch結(jié)合kibana、Logstash、Beats,也就是elastic stack(ELK)。被廣泛應(yīng)用在日志數(shù)據(jù)分析、實時監(jiān)控等領(lǐng)域。

什么是“日志數(shù)據(jù)分析”?就是我們的項目在實際運行過程中,會產(chǎn)生海量的日志信息,這些日志信息會方便我們定義系統(tǒng)出現(xiàn)的問題。而Elasticsearch可以幫我們將這些日志進行可視化展示,方便我們做日志分析。
另一個“實時監(jiān)控”的概念,即我們在項目運行的過程中,它的運行狀態(tài)也是數(shù)據(jù),如CPU、內(nèi)存等情況,也可以被Elasticsearch收集并展示過來:

這足以看出Elasticsearch這個搜索引擎的應(yīng)用范圍是非常廣泛的。

在ELK的技術(shù)棧中,盡管有很多個組件,但核心就是我們的Elasticsearch,它主要負責(zé)數(shù)據(jù)的存儲、計算、搜索和分析;而Logstash和Beats主要負責(zé)數(shù)據(jù)抓取,Kibana則是一個數(shù)據(jù)可視化組件,用來在頁面上展示數(shù)據(jù):

在ELK數(shù)據(jù)棧中,Logstash和Beats、Kibana都不是不可替代的,我們可以使用自己的方法抓取數(shù)據(jù),和進行圖形化展示。而Elasticsearch這個核心組件是不可替代的。

二、Elasticsearch的底層

Elasticsearch底層基于Apache Lucene開源庫進行封裝。Lucene是一個Java語言的高性能、可擴展的搜索引擎類庫,它提供了全文索引和搜索的底層實現(xiàn)。是Apache公司的頂級項目,由DougCutting于1999年研發(fā)。

官網(wǎng)地址:https://lucene.apache.org/

打開官網(wǎng)首頁我們可以看到,截止到2024年11月Lucene的最新版本是10.0.0版,已經(jīng)迭代了很多版本了。

1、Lucene的優(yōu)點

Lucene其實就是一個濃縮的jar包(類庫),它有以下的優(yōu)點:
(1)易擴展
Lucene具有高度的可擴展性和可定制性,其系統(tǒng)架構(gòu)設(shè)計精良,使得開發(fā)者能夠方便地根據(jù)業(yè)務(wù)需求進行功能擴展和定制(二次開發(fā))。通過實現(xiàn)特定的接口和繼承相關(guān)類,開發(fā)者可以輕松地添加新功能、優(yōu)化現(xiàn)有功能或調(diào)整索引和搜索邏輯。
(2)高性能(基于倒排索引)
Lucene的高性能主要得益于其采用的倒排索引技術(shù)。倒排索引是一種將文檔中的詞匯項作為關(guān)鍵字,文檔ID作為值,形成的“值-鍵”對調(diào)的索引結(jié)構(gòu)。這種結(jié)構(gòu)使得Lucene在搜索時能夠直接根據(jù)關(guān)鍵詞快速定位到包含該詞的所有文檔,從而極大地提高了搜索效率。此外,Lucene還通過一系列優(yōu)化措施,如壓縮索引數(shù)據(jù)、使用緩存等,進一步提升了搜索性能。
想象我們有一堆書,想要快速找到包含某個關(guān)鍵詞的書,最直接的方法是逐本翻閱,但這顯然非常耗時。而Lucene則采用了一種更聰明的方法,即倒排索引。它首先為每本書中的每個關(guān)鍵詞建立一個索引,記錄下這個關(guān)鍵詞出現(xiàn)在哪些書中以及出現(xiàn)的位置。這樣,當我們想要找到包含某個關(guān)鍵詞的書時,只需要查看這個索引,就能迅速定位到相關(guān)的書。這種索引方式就像是一個高效的“書簽”,幫助我們快速找到目標內(nèi)容,從而大大提高了搜索效率。

2、Lucene的缺點

以上是Lucene的優(yōu)點,但同時它也存在以下缺點:
(1)只限于Java語言開發(fā)
Lucene是一個基于Java語言開發(fā)的搜索引擎庫,這意味著它主要適用于Java語言的項目和開發(fā)環(huán)境。對于那些不使用Java的項目或團隊來說,可能需要額外的學(xué)習(xí)和集成成本。
(2)學(xué)習(xí)曲線陡峭
Lucene作為一個功能強大且復(fù)雜的搜索引擎庫,API設(shè)計非常復(fù)雜晦澀,其學(xué)習(xí)曲線相對陡峭。對于初學(xué)者來說,需要花費較多的時間和精力來熟悉Lucene的架構(gòu)、API和最佳實踐。
(3)不支持水平擴展(需二次開發(fā))
Lucene的主要目的是為了實現(xiàn)搜索,而對于高并發(fā)、高可用等場景沒有技術(shù)支持,無法直接進行水平擴展(集群擴展),即通過在多個服務(wù)器上部署多個實例來共同處理搜索請求。雖然Lucene可以通過分片(sharding)等技術(shù)在一定程度上實現(xiàn)數(shù)據(jù)的分布式存儲和搜索,但這需要開發(fā)者進行額外的二次開發(fā)工作。

三、Elasticsearch的發(fā)展


Elasticsearch的起源可以追溯到2004年,當時Shay Banon基于Lucene開發(fā)了一個名為Compass的搜索引擎(單體應(yīng)用,主要為他老婆搜索食譜用)。然而,隨著技術(shù)的不斷演進和需求的日益增長,Shay Banon在2010年決定重寫Compass(支持分布式和集群環(huán)境),并將其命名為Elasticsearch。這一決定標志著Elasticsearch作為一個獨立的開源項目正式誕生,并迅速在搜索和分析領(lǐng)域嶄露頭角。
Elasticsearch的官網(wǎng)地址為:https://www.elastic.co/cn/:

這是一個提供Elasticsearch相關(guān)資源、文檔和社區(qū)支持的權(quán)威平臺,它是由Elastic公司管理,這個公司的創(chuàng)始人就是上面提到Elasticsearch的原創(chuàng)者Shay Banon。
截止至2024年11月,Elasticsearch已經(jīng)發(fā)展到了8.15.3版本,這一版本在性能、功能和安全性等方面都進行了諸多優(yōu)化和升級。隨著版本的迭代,Elasticsearch不斷引入新技術(shù)和特性,以滿足日益復(fù)雜和多樣化的搜索和分析需求。
相比于Lucene,Elasticsearch具備下列優(yōu)勢:

1、支持分布式,可水平擴展:

Elasticsearch采用了分布式架構(gòu),可以輕松擴展到多個節(jié)點,以便處理大規(guī)模數(shù)據(jù)。這種架構(gòu)使得Elasticsearch能夠應(yīng)對PB級別的數(shù)據(jù)存儲和搜索需求,同時保持高性能和可用性。
通過分片(sharding)和復(fù)制(replication)機制,Elasticsearch實現(xiàn)了數(shù)據(jù)的高可用性和容錯性。即使某個節(jié)點發(fā)生故障,系統(tǒng)也能快速切換到其他節(jié)點,確保搜索和分析服務(wù)的連續(xù)性。

2、提供Restful接口,可被任何語言調(diào)用:

Elasticsearch提供了一個簡單易用的RESTful API,使得數(shù)據(jù)的索引、搜索和分析變得非常簡單。這一API遵循REST風(fēng)格,支持HTTP協(xié)議,因此可以被任何編程語言調(diào)用。
通過RESTful API,開發(fā)者可以輕松地將Elasticsearch集成到各種應(yīng)用程序中,實現(xiàn)數(shù)據(jù)的實時搜索、分析和可視化。這種靈活性使得Elasticsearch成為構(gòu)建現(xiàn)代搜索和分析應(yīng)用的理想選擇。
綜上所述,Elasticsearch作為Lucene的衍生產(chǎn)品,不僅繼承了Lucene的強大搜索功能,還通過分布式架構(gòu)和RESTful API等創(chuàng)新特性,實現(xiàn)了更高的可擴展性、易用性和集成性。這些優(yōu)勢使得Elasticsearch在搜索和分析領(lǐng)域具有廣泛的應(yīng)用前景和巨大的市場潛力。

四、為什么學(xué)習(xí)Elasticsearch?

實際上,從Lucene誕生開始,就不止Elasticsearch一個搜索引擎程序問世,其中還包含Splunk(商業(yè)項目)、Solr(Apache的開源搜索引擎),但是Elasticsearch在全球搜索引擎排名中,一直穩(wěn)坐第一名的寶座,并且和第二名Splunk拉開了很大差距:

其實在Elasticsearch剛剛誕生時,Solr在全球搜索引擎中占有很大比例,但是隨著后來的發(fā)展,Solr漸漸地被Elasticsearch超越了(大概是2016年):

所以我們主要還是以學(xué)習(xí)目前占比最高的搜索引擎作為我們本次學(xué)習(xí)的目標。

五、學(xué)習(xí)總結(jié)

本篇博客,我們一共學(xué)習(xí)了以下三個知識,大家可以回顧一下:
1、什么是elasticsearch?
一個開源的分布式搜索引擎,可以用來實現(xiàn)搜索、日志統(tǒng)計、分析系統(tǒng)監(jiān)控等功能
2、什么是elastic stack(ELK)?
是以elasticsearch為核心的技術(shù)棧,包括beats、Logstash、kibana、elasticsearch
3、什么是Lucene?
是Apache的開源搜索引擎類庫,提供了搜索引擎的核心API

至此,關(guān)于elasticsearch的基礎(chǔ)介紹就到此結(jié)束了,為了更加深入理解elasticsearch為的原理,下一篇我們來學(xué)習(xí)什么是“倒排索引”。

參考:《黑馬Elasticsearch全套教程》

轉(zhuǎn)載請注明出處:https://guangzai.blog.csdn.net/article/details/143658138

http://m.risenshineclean.com/news/36553.html

相關(guān)文章:

  • 上海高端網(wǎng)站制作公司網(wǎng)站推廣優(yōu)化怎么做最好
  • 四子王旗建設(shè)局網(wǎng)站營銷策略
  • 三農(nóng)建設(shè)委員官方網(wǎng)站口碑營銷案例2021
  • 普陀網(wǎng)站建設(shè)seo外包公司多少錢
  • 深圳交友網(wǎng)站建設(shè)nba交易最新消息
  • 貿(mào)易公司做網(wǎng)站有優(yōu)勢嗎怎么在百度做網(wǎng)站推廣
  • 網(wǎng)站優(yōu)化培訓(xùn)學(xué)校成都網(wǎng)站建設(shè)方案外包
  • 搭建視頻服務(wù)器武漢網(wǎng)站搜索引擎優(yōu)化
  • 網(wǎng)站改版開發(fā)公司鄭州做網(wǎng)站推廣哪家好
  • 百度做網(wǎng)站審核要多久服務(wù)營銷理論
  • 網(wǎng)站頁面怎么做識別二維碼谷歌引擎搜索入口
  • 網(wǎng)站建設(shè)和網(wǎng)絡(luò)營銷濟寧百度推廣公司
  • 專業(yè)制作網(wǎng)站服務(wù)公司深圳龍崗區(qū)優(yōu)化防控措施
  • 長沙專業(yè)做網(wǎng)站seo含義
  • 如何做外圍網(wǎng)站的代理關(guān)鍵詞排名是由什么決定的
  • 官方網(wǎng)站做自適應(yīng)好還是響應(yīng)式廈門人才網(wǎng)個人會員
  • 設(shè)計集合網(wǎng)站北京seo推廣服務(wù)
  • 潛江網(wǎng)站建設(shè)如何提高搜索引擎優(yōu)化
  • 長沙企業(yè)網(wǎng)站建設(shè)品牌廣州各區(qū)最新動態(tài)
  • 上海網(wǎng)站關(guān)鍵字優(yōu)德國搜索引擎
  • 滎陽做網(wǎng)站推廣知乎推廣渠道
  • 海南海口做網(wǎng)站軟文推廣發(fā)稿
  • 淘寶客網(wǎng)站制作教程推廣團隊
  • 西安網(wǎng)站外包臺州做優(yōu)化
  • 好網(wǎng)站開發(fā)培訓(xùn)夜夜草
  • php無版權(quán)企業(yè)網(wǎng)站管理系統(tǒng)企業(yè)網(wǎng)站推廣外包
  • 網(wǎng)站做推廣頁需要什么軟件seo收錄查詢
  • 外貿(mào)響應(yīng)式網(wǎng)站google服務(wù)框架
  • 贛icp上饒網(wǎng)站建設(shè)seo網(wǎng)站推廣實例
  • 可以做科學(xué)模擬實驗的網(wǎng)站百度指數(shù)怎么查詢