成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Solr vs. Elasticsearch誰是開源搜索引擎王者

freewolf / 3234人閱讀

摘要:本文,我們將比較業(yè)界兩個最流行的開源搜索引擎,和。關(guān)于基于業(yè)界大名鼎鼎的開源搜索引擎,更多的是一個軟件包,還不能稱之為搜索引擎,而則完成對的封裝,是一個真正意義上的搜索引擎框架。

當(dāng)前是云計算和數(shù)據(jù)快速增長的時代,今天的應(yīng)用程序正以PB級和ZB級的速度生產(chǎn)數(shù)據(jù),但人們依然在不停的追求更高更快的性能需求。隨著數(shù)據(jù)的堆積,如何快速有效的搜索這些數(shù)據(jù),成為對后端服務(wù)的挑戰(zhàn)。本文,我們將比較業(yè)界兩個最流行的開源搜索引擎,Solr和ElasticSearch。兩者都建立在Apache Lucene開源平臺之上,它們的主要功能非常相似,但是在部署的易用性,可擴(kuò)展性和其他功能方面也存在巨大差異。
關(guān)于Apache Solr

Apache Solr基于業(yè)界大名鼎鼎的java開源搜索引擎Lucene,Lucene更多的是一個軟件包,還不能稱之為搜索引擎,而solr則完成對lucene的封裝,是一個真正意義上的搜索引擎框架。在過去的十年里,solr發(fā)展壯大,擁有廣泛的用戶群體。solr提供分布式索引、分片、副本集、負(fù)載均衡和自動故障轉(zhuǎn)移和恢復(fù)功能。如果正確部署,良好管理,solr就能夠成為一個高可靠、可擴(kuò)展和高容錯的搜索引擎。不少互聯(lián)網(wǎng)巨頭,如Netflix,eBay,Instagram和Amazon(CloudSearch)均使用Solr。
solr的主要特點:
全文索引
高亮
分面搜索
實時索引
動態(tài)聚類
數(shù)據(jù)庫集成
NoSQL特性和豐富的文檔處理(例如Word和PDF文件)
關(guān)于Elasticsearch

與solr一樣,Elasticsearch構(gòu)建在Apache Lucene庫之上,同是開源搜索引擎。Elasticsearch在Solr推出幾年后才面世的,通過REST和schema-free(不需要預(yù)先定義 Schema,solr是需要預(yù)先定義的)的JSON文檔提供分布式、多租戶全文搜索引擎。并且官方提供Java,Groovy,PHP,Ruby,Perl,Python,.NET和Javascript客戶端。
分布式搜索引擎包含可以華為為分片(shard)的索引,每一個分片可以有多個副本(replicas)。每個Elasticsearch節(jié)點可以有一個或多個分片,其引擎既同時作為協(xié)調(diào)器(coordinator ),將操作轉(zhuǎn)發(fā)給正確的分片。
Elasticsearch可擴(kuò)展為準(zhǔn)實時搜索引擎。其中一個關(guān)鍵特性是多租戶功能,可根據(jù)不同的用途分索引,可以同時操作多個索引。
Elasticsearch主要特性:
分布式搜索
多租戶
查詢統(tǒng)計分析
分組和聚合
熱度對比
Solr vs. Elasticsearch誰是開源搜索引擎王者
在開始比較前,我們可以查看兩者在google中的搜索熱度,可以看出在2013年后,Elasticsearch與Solr相比具有很大的吸引力,但這并不意味著Apache Solr已經(jīng)死了。雖然不少人不認(rèn)可,但Solr仍然是最流行的搜索引擎之一,具有強(qiáng)大的開源社區(qū)支持。
安裝與配置
相對來說,Elasticsearch更易于安裝,與Solr相比非常輕量級。 Solr的分發(fā)軟件包大小的當(dāng)前版本(6.4.2)大約為150 MB,而Elasticsearch分發(fā)軟件包大小的當(dāng)前版本(5.2.2)僅為32.2MB。
但是,如果Elasticsearch管理不好,這種易于部署和使用可能會成為一個問題?;贘SON的配置很容易,但如果你想為文件中的每個配置指定注釋,那么它不適合你。Solr也提供了Rest API,可以通過集合API創(chuàng)建自定義分片集合,記錄聚類算法和執(zhí)行自定義分片。
總的來說,如果你的應(yīng)用程序使用JSON,那么Elasticsearch是一個更好的選擇。否則,使用Solr,因為它的schema.xml和solrconfig.xml有很好的文檔。
索引和搜索
數(shù)據(jù)源
Solr接受來自不同來源的數(shù)據(jù),包括XML文件,逗號分隔符(CSV)文件和從數(shù)據(jù)庫中的表提取的數(shù)據(jù)以及常見的文件格式(如Microsoft Word和PDF)。
Elasticsearch還支持其他來源的數(shù)據(jù),例如ActiveMQ,AWS SQS,DynamoDB(Amazon NoSQL),F(xiàn)ileSystem,Git,JDBC,JMS,Kafka,LDAP,MongoDB,neo4j,RabbitMQ,Redis,Solr和Twitter。還有各種插件可用。
搜索
Solr專注于文本搜索,而Elasticsearch則常用于查詢、過濾和分組分析統(tǒng)計,Elasticsearch背后的團(tuán)隊也努力讓這些查詢更為高效。因此當(dāng)比較兩者時,對那些不僅需要文本搜索,同時還需要復(fù)雜的時間序列搜索和聚合的應(yīng)用程序而言,毫無疑問Elasticsearch是最佳選擇。
索引
兩者都支持使用停用詞和同義詞來匹配文檔。
在Solr中,索引間進(jìn)行join必須是單個分片和其他節(jié)點上的副本集進(jìn)行關(guān)聯(lián)來搜索文檔間關(guān)系(例如SQL連接)。而Elasticsearch提供更高效的has_children和top_children查詢來檢索這樣的相關(guān)文檔。
可擴(kuò)展性和分布式
搜索引擎需要處理數(shù)以百萬級的文檔,基于此搜索引擎應(yīng)該是可復(fù)制的,模塊化的和可擴(kuò)展的,支持集群和分布式架構(gòu)。
專為云而設(shè)計
Elasticsearch非常易于擴(kuò)展,擁有足夠多的需要大集群的使用案例。
Solr 基于Apache ZooKeeper也實現(xiàn)了類似ES的分布式部署模式。ZooKeeper是成熟和廣泛使用的獨立應(yīng)用程序。
相對比,Elasticsearch有一個內(nèi)置的類似ZooKeeper的名為Zen的組件,通過內(nèi)部的協(xié)調(diào)機(jī)制來維護(hù)集群狀態(tài)。
可以說Elasticsearch是轉(zhuǎn)為云而設(shè)計,是分布式首選。
分片拆分和再平衡
shards是luence索引的分區(qū)單元,solr和elasticsearch均使用。你可以通過在集群中的不同計算機(jī)上運行shard來分發(fā)索引。隨著SolrCloud的引入,Solr開始支持shard拆分,這允許您通過拆分現(xiàn)有shard來添加更多shard。相比之下,ElasticSearch仍然不支持這一點,事實上,實際上阻止了這種做法。ES通過向設(shè)置中添加更多計算機(jī),可以使用自動碎片平衡功能。相比之下,Solr允許添加分片(使用隱式路由時)或分割(使用復(fù)合ID時),但不能刪除分片。它允許您增加副本。在Elasticsearch中,默認(rèn)情況下每個索引具有五個分片。它不允許您更改主分片的數(shù)量,但它允許您增加副本的數(shù)量。分片再平衡對于水平擴(kuò)容非常有用。當(dāng)添加新機(jī)器時,它將自動重新平衡不同機(jī)器中可用的分片。
社區(qū)
Solr有一個廣泛的開源社區(qū)。任何人都可以貢獻(xiàn)給Solr,新的Solr開發(fā)人員或代碼提交者只能根據(jù)功能選擇。 Elasticsearch在技術(shù)上是開源的,但不完全。所有貢獻(xiàn)者都可以訪問源代碼,用戶可以進(jìn)行更改并提供。但最終的變化由Elastic(運行Elasticsearch和其他軟件的公司)的員工確認(rèn)和完成。因此,Elasticsearch更多地由單個公司驅(qū)動,而不是整個社區(qū)。
Solr貢獻(xiàn)者和提交者跨越多個組織,而Elasticsearch提交者僅來自Elastic。還有人指出,Solr的強(qiáng)大社區(qū)有一個健康的項目管道和許多知名公司參與。這些成員還通過在整個開發(fā)和工程過程中做出貢獻(xiàn)來投資該平臺。
兩者都有很好的用戶群和豐富的開發(fā)人員社區(qū),但ElasticSearch相較于Solr更新。 Solr已經(jīng)存在了更長的時間,所以它的生態(tài)系統(tǒng)是發(fā)達(dá)的,擁有更大的用戶群。
文檔
Solr在這里得分很高。它是一個非常有據(jù)可查的產(chǎn)品,具有清晰的示例和API用例場景。 Elasticsearch的文檔組織良好,但它缺乏好的示例和清晰的配置說明。
選Solr 還是 Elasticsearch?
通過上面的對比,很難確定誰是最終贏家。其實,無論選擇Solr還是Elasticsearch,你首先需要了解您的用戶場景和未來的需求。我們來總結(jié)一下:
Solr vs. Elasticsearch誰是開源搜索引擎王者
請記?。?br>Elasticsearch由于其易用性而在較新的開發(fā)人員中更受歡迎
但是如果你已經(jīng)在使用solr了,請繼續(xù)使用它,因為遷移到Elasticsearch并不會帶來具體的優(yōu)勢
如果您需要它來處理分析查詢以及搜索文本,Elasticsearch是更好的選擇,特別是收集日志,做分析處理
總之,兩者都是功能豐富的搜索引擎,并且或多或少地給出相同的性能,只要它們被設(shè)計和實施得很好。
文章轉(zhuǎn)載自互聯(lián)網(wǎng)由甲爪cpa聯(lián)盟整理編輯!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/22534.html

相關(guān)文章

  • 推薦十款java開源中文分詞組件

    摘要:最初,它是以開源項目為應(yīng)用主體的,結(jié)合詞典分詞和文法分析算法的中文分詞組件。填補(bǔ)了國內(nèi)中文分詞方面開源組件的空白,致力于此并希翼成為互聯(lián)網(wǎng)網(wǎng)站首選的中文分詞開源組件。中文分詞追求分詞的高效率和用戶良好體驗。 1:Elasticsearch的開源中文分詞器 IK Analysis(Star:2471) IK中文分詞器在Elasticsearch上的使用。原生IK中文分詞是從文件系統(tǒng)中讀取...

    masturbator 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<