1. 程式人生 > 實用技巧 >科普向 | Lucene,Solr,Elasticsearch之間的區別和聯絡

科普向 | Lucene,Solr,Elasticsearch之間的區別和聯絡

最近有幸研究到了這塊領域的內容,而我本人也對於這塊非常的感興趣,所以打算寫一篇文章記錄一下…

在這裡插入圖片描述


簡介

Lucene

Lucene是 apache 軟體基金會某個專案組的一個子專案,是一個開放原始碼的全文檢索引擎工具包,但它不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構提供了完整的查詢引擎和索引引擎,部分文字分析引擎(英文與德文兩種西方語言)。順便提一下,Lucene最初是由Doug Cutting開發的,沒錯,就是那個創造了大資料Hadoop的那個男人。

Elasticsearch

Elasticsearch是一個基於Apache Lucene 的開源實時分散式搜尋和分析引擎。它讓用前所未有的速度處理大資料成為可能。

它用於全文搜尋、結構化搜尋、分析以及將這三者混合使用,下面列出一些典型的使用案例:

  • GitHub 使用 Elasticsearch 搜尋 20TB 的資料,包含 13億 的檔案 和 1300 億行的程式碼。
  • 德國 SoundCloud 使用 Elasticsearch 來為 1.8 億 使用者提供即時精準的音樂搜尋服務。
  • Sony 公司使用 elasticsearch 作為資訊搜尋引擎。
  • 維基百科使用Elasticsearch提供全文搜尋並高亮關鍵字,以及輸入實時搜尋(search-asyou-type)和搜尋糾錯(did-you-mean)等搜尋建議功能。
  • 英國衛報使用Elasticsearch結合使用者日誌和社交網路資料提供給他們的編輯以實時的反饋,以便及時瞭解公眾對新發表的文章的迴應。

類似的使用案例特別多,最主要的是,Elasticsearch可以在你的筆記本上執行,也可以在數以百計的伺服器上處理PB級別的資料 。

無論在開源還是專有領域,Lucene可以被認為是迄今為止最先進、效能最好的、功能最全的搜尋引擎庫。

但是,Lucene只是一個庫。想要使用它,你必須使用Java來作為開發語言並將其直接整合到你的應用中,更糟糕的是,Lucene非常複雜,你需要深入瞭解檢索的相關知識來理解它是如何工作的。

Elasticsearch就是通過使用Java開發並使用Lucene作為其核心來實現所有索引和搜尋的功能,但是它的目的是通過簡單的 RESTful API 來隱藏Lucene的複雜性,從而讓全文搜尋變得簡單


Solr

Solr 是Apache下的一個頂級開源專案,採用Java開發,它是基於Lucene的全文搜尋伺服器。Solr提供了比Lucene更為豐富的查詢語言,同時實現了可配置、可擴充套件,並對索引、搜尋效能進行了優化。Solr通過使用類似REST的HTTP API,這就確保你能從幾乎任何程式語言來使用solr

其主要功能包括全文檢索,命中標示,分面搜尋,動態聚類,資料庫整合,以及富文字(如Word,PDF)的處理。Solr是高度可拓展的,並提供了分散式搜尋和索引複製。Solr可以和Hadoop一起使用。由於Hadoop處理大量資料,Solr幫助我們從這麼大的源中找到所需的資訊。不僅限於搜尋,Solr也可以用於儲存目的。像其他NoSQL資料庫一樣,它是一種非關係資料儲存和處理技術。

Solr是一個可擴充套件的,可部署,搜尋/儲存引擎,優化搜尋大量以文字為中心的資料,是最流行的企業級搜尋引擎

區別和聯絡

首先說明三者之間的一個聯絡:

solr 和 elasticsearch 都是基於 Lucene 實現的

Solr 和 ElasticSearch 比較:

Solr利用 Zookeeper 進行分散式管理,支援更多格式的資料(HTML/PDF/CSV) ,官方提供的功能更多在傳統的搜尋應用中表現好於 ES,但實時搜尋效率低

ES自身帶有分散式協調管理功能,但僅支援 json 檔案格式,本身更注重於核心功能,高階功能多有第三方外掛提供,在處理實時搜尋應用時效明顯高於 Solr

效率對比

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

結論

Solr比較成熟,有一個更大,更成熟的使用者、開發和貢獻者社群,而 Elasticsearch相對開發維護者較少,更新太快,學習使用成本較高。具體選擇哪一項技術,還需要根據不同的場景來進行結合選擇。

結語

很高興能在這看見你,朋友,有任何好的想法或者建議都可以在評論區留言,或者直接私信我也ok。在最美的年華,做最好的自己,我是00後Alice,我們下一期見~~

一鍵三連,養成習慣~

文章持續更新,可以微信搜一搜「 猿人菌 」第一時間閱讀,思維導圖,大資料書籍,大資料高頻面試題,海量一線大廠面經…期待您的關注!