1. 程式人生 > 實用技巧 >solr學習之(七)_學習solr的理由(solr的特點和應用領域)

solr學習之(七)_學習solr的理由(solr的特點和應用領域)

Solr是一個可伸縮性的、能夠即時部署的、致力於資訊檢索的、可以處理海量資訊的、以處理自然語言文字為中心的、檢索結果按相關性排序的企業級搜尋引擎。

Solr處理的業務需求有以下4個特點:

1、無結構化的自然語言文字為中心;

2、資訊瀏覽占主導地位的使用者需求

3、以Document這種扁平化並且獨立的結構組織資訊(區別與關係型資料庫);

4、要求組織成的資料模式靈活多變(不像資料庫表一樣要求統一的欄位)。

solr的誤解:

1、 Solr是一個類似於Google或者Bing的全文檢索引擎,。

2、 Solr是與搜尋引擎優化(SEO)相關聯的。

Solr通過schema.xml的方式來配置Filed

,與Lucene相比,這種方式更為靈活。特別是在團隊開發中,更易於團隊協同作戰。而且solr還提供了Copy FieldDynamic Filed這兩種Lucene沒有的Filed,這使得文件建模更為靈活,功能更加強大。

作為一個Web應用程式,solr可以輕鬆地部署在JettyTomcatServlet伺服器上。

很多時候,千言萬語,比不上一幅圖來的直接和易懂(下圖截自於Solr In Action)。

我們知道,應用程式的架構應當靈活以適應複雜多變的需求。Solr提供了這樣一種方式來滿足這一需求:多核。換句話說,同一個伺服器上可以有多個Index,每個core獨立地維護一個Index

作為一個功能複雜的應用,solr提供外掛的方式來管理功能模組。這些功能模組都配置在solrconfig.xml裡面,這意味著你可以制定符合自己業務的元件來替換solr原有元件,只需要實現相應的介面就可以了,比如中文分詞就是被替換得最頻繁的Text Analysis元件。

Solr繼承了Lucene的全部優點,並且可以部署在多伺服器上。當併發量增加時,特別是企業快速發展時,通過solr的快取元件和多核(multicore)機制向外擴充套件,企業可以輕鬆應對這種變化帶來的壓力。

Solr還提供了備份的方式來進行故障轉移,當一個伺服器宕機了,solr可以對request進行重定向。這種容錯機制使得

solr的穩定性有了很好的保證。特別是solr4引入了solrcloudsolrcloud底層用Zookeeper來實現,具有以下新的特性:整合化的配置、解決了單點故障的分散式索引、自動容錯、查詢時自動負載均衡、近實時搜尋。

Solr提供了:拼寫檢查、自動補全、結果分類、自動文摘、關鍵詞高亮顯示、檢索結果分頁、快取等搜尋引擎必不可少的功能。同時,也提供的地理位置檢索這一有特色的功能。換句話說,使用solr,你可以無壓力地構建一個企業級的搜尋引擎。

轉載於:https://blog.51cto.com/sbp810050504/1185871