Solr與Elasticsearch 之簡明比較
21CTO社區導讀:對於大家來講,Solr和Elasticsearch都不陌生,關於這兩種搜索引擎的可擴展性,易部署性以及其它特性有所不同。這篇短文就為大家展示如下:
雲計算和大數據增長往往比任何時候都更具備關聯性,人們可以使用電腦,智能手機和平板電腦生成和處理幾個Zettabytes(1e + 9TB)數據的應用。隨著信息的不斷積累,以及對性能的要求越來越高,如何用高效的方式搜索所有這些數據,這是一項相有挑戰性的任務。如果不能快速處理,用有組織和可靠的方式處理數據,產品將難以吸引和留住用戶。
本文向您介紹兩種最流行的開源搜索引擎:Solr和Elasticsearch。
這兩個引擎都是基於Apache Lucene開發的,所以兩者具有非常相似的功能。隨著不同的哲學和想法不同,兩者在可擴展性,易用性和其他特性方面存在著差異。
在介紹這兩個搜索引擎之前,Lucene上的某些上下文可能會對我們有所幫助。
什麼是Apache Lucene?
Apache Lucene最初於1999年發布,是一個開源的基於Java的文本搜索引擎庫,基於Apache伺服器使用的開源許可證進行分發,這意味著開發人員可以根據自己的需要自由更改源代碼。 Lucene API保持其格式,而不管將被索引的文件的格式如何,使其受到互聯網搜索引擎和單站點內部搜索的歡迎。
什麼是Apache Solr?
Apache Solr是一個基於Lucene的開源搜索引擎平台。Solr以非常用戶友好的方式提供了Lucene的搜索功能,而且由於它已經存在了十多年,它擁有一個成熟的API與廣泛的用戶群體。
Solr提供複製,負載均衡查詢,自動故障轉移和恢復以及分散式索引等功能。如果開發人員能夠成功地部署和管理Solr,它就能成為一個非常可靠,可擴展以及安全的搜索引擎。
Amazon,Instagram和Netflix等公司都在使用Solr,因為它允許他們一次索引並支持搜索多個網站。
什麼是Elasticsearch?
Elasticsearch在2010年公開發布,它是在Solr之後推出的。
Elasticsearch提供了多租戶功能,是一個分散式的全文搜索引擎,並帶有一個HTTP網頁界面。
多租戶是軟體結構,其中一個軟體運行實例為單個伺服器源的多個用戶提供服務,這是Elasticsearch提供的最大功能之一。 搜索引擎允許開發人員將索引劃分為包含多個副本。
哪個搜索引引擎表現更有效率?
雖然Solr和Elasticsearch共享許多相同的功能,但是有一些功能使得Elasticsearch成為更受歡迎的產品。
知名的德國iX雜誌列出了使用Elasticsearch而非Solr的主要優勢,這可能有助於個人試圖確定選擇哪個選項:
1 Elasticsearch是分散式的。
不需要單獨的項目文件和副本,幾乎是實時的,提供更快捷,更快捷的體驗。
2 Elasticsearch支持原始Apache Lucene API的近實時搜索功能。
多租戶比Solr需要的更複雜的配置要容易得多。
3 Elasticsearch引入了「網關」的概念,最終使得它更容易運行和恢復完整之備份。
作者:Nirmal Suthar
編譯:21CTO社區 - 爭鳴
來源:https://dzone.com/articles/solr-vs-elasticsearch-an-introductory-comparison


TAG:21CTO |