1. 程式人生 > >elasticsearch與Lucene相關介紹

elasticsearch與Lucene相關介紹

Lucene是apache軟體基金會4 jakarta專案組的一個子專案,是一個開放原始碼的全文檢索引擎工具包,但它不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎,部分文字分析引擎,它可以方便的嵌入到各種應用中實現針對應用的全文索引/檢索功能。

ElasticSearch是一個基於Lucene的搜尋伺服器。它提供了一個分散式多使用者能力的全文搜尋引擎,基於RESTful web介面。Elasticsearch是用Java開發的,並作為Apache許可條款下的開放原始碼釋出,是當前流行的企業級搜尋引擎。設計用於雲端計算中,能夠達到實時搜尋,穩定,可靠,快速,安裝使用方便。

Elasticsearch與Lucene的比較

如圖中Lucene部署在單臺機器上,磁碟空間為1T。

當資料量很大,超過1T時,在單臺機器上是放不了的,需要分散式的散落在多臺機器上。如果其中一臺機器宕機,將會導致資料丟失;而且自己來實現搜尋功能和多臺機器通訊的過程,比較麻煩。

因此,Elasticsearch應運而生

Elasticsearch,基於Lucene,隱藏複雜性,提供簡單易用的restful api介面、Java api介面及其它語言的api介面

(1)      分散式的文件儲存引擎

(2)      分散式的搜尋引擎和分析引擎

(3)      分散式,支援PB級資料

Elasticsearch的特點:

自動維護資料的分佈到多個節點的索引的的建立,還有搜尋請求分佈到多個節點的執行。

自動維護資料的冗餘副本,保證當有機器宕機時不會丟失任何資料。

封裝了更多的高階功能,以給我們提供更多高階的支援,讓我們快速的開發應用,開發更加複雜的應用,複雜的搜尋功能,聚合分析的功能,基於地理位置的搜尋。


相關推薦

no