帶你認(rèn)識Solr,開啟你的新世界??!
? ?Solr你或許沒有聽過,但是在你的生活中卻是從不缺席!
? ? 當(dāng)你想買商品時,你會打開網(wǎng)站來搜索,就能搜到很多的商品,你知道你看到的這些數(shù)據(jù)都來自哪兒嗎?

? ? 生活中很多地方都有搜索功能,問題是搜索功能往往是巨大的資源消耗并且它們由于沉重的數(shù)據(jù)庫加載而拖垮你的應(yīng)用的性能。
一、Solr是什么?
? ? Solr是一個高性能,采用Java5開發(fā),基于Lucene的全文搜索服務(wù)器。同時對其進(jìn)行了擴展,提供了比Lucene更為豐富的查詢語言,同時實現(xiàn)了可配置、可擴展并對查詢性能進(jìn)行了優(yōu)化,并且提供了一個完善的功能管理界面,是一款非常優(yōu)秀的全文搜索引擎。
Solr是一個獨立的企業(yè)級搜索應(yīng)用服務(wù)器。
Solr提供API接口、緩存、垂直搜索等功能。
Solr是基于Apache Lucene構(gòu)建的流行、快速、開源的企業(yè)搜索平臺。

? ? ?文檔通過Http利用XML 加到一個搜索集合中。查詢該集合也是通過http收到一個XML/JSON響應(yīng)來實現(xiàn)。它的主要特性包括:高效、靈活的緩存功能,垂直搜索功能,高亮顯示搜索結(jié)果,通過索引復(fù)制來提高可用性,提供一套強大Data Schema來定義字段,類型和設(shè)置文本分析,提供基于Web的管理界面等。
二、solr在哪里下載安裝?

三、Solr的優(yōu)點
????Solr具有高可靠性,可擴展性和容錯性,可提供分布式索引,復(fù)制和負(fù)載均衡查詢,自動故障轉(zhuǎn)移和恢復(fù),集中配置等。Solr為世界上許多最大的互聯(lián)網(wǎng)站點的搜索和導(dǎo)航功能提供支持。
1、高可靠性
????Solr有三個主要的子系統(tǒng):文檔管理、查詢處理和文本分析。每一個子系統(tǒng),都是由模塊化的“管道”構(gòu)成的,通過插件方式實現(xiàn)新功能,這意味著,我們可以根據(jù)特定的應(yīng)用需求實現(xiàn)定制。
2、可擴展性
????Lucene是一個執(zhí)行速度相當(dāng)快的搜索類庫,Solr汲取了Lucene速度方面的所有優(yōu)點。但因CPU的I/O原則,單臺服務(wù)器終會達(dá)到并發(fā)請求的處理上限。為了解決這個問題,一,Solr提供靈活的緩存管理功能,幫助服務(wù)器重用運算量大的數(shù)據(jù)擴容。二,可以通過增加服務(wù)器實現(xiàn)增容。
????Solr伸縮性有兩個常用的維度:查詢吞吐量和文檔索引量。查詢吞吐量是指搜索引擎每秒支持的查詢數(shù)量,在多臺服務(wù)器都復(fù)制一份索引,當(dāng)有大量查詢請求進(jìn)入時,可以減輕每臺服務(wù)器的壓力。文檔索引量是指索引文檔的大小,當(dāng)數(shù)量規(guī)模很大時,單個實例會因容納太多文檔而達(dá)到極限,查詢性能也會受影響。為了處理更多文檔,可以將索引拆分為很小的索引分片,然后在索引分片中進(jìn)行分布式搜索。
3、容錯性
????當(dāng)線上運行Solr時,如果索引分片中其中一個分片的服務(wù)器斷電了,就會導(dǎo)致Solr無法繼續(xù)索引文檔和提供查詢服務(wù),因此,為了避免此種情況出現(xiàn),應(yīng)該對每一個分片添加副本,當(dāng)其中一臺分片服務(wù)器發(fā)生故障時,可以啟用副本來索引和處理查詢。

對于Solr,有不懂的可在下方評論區(qū)提問,一起討論起來吧!!