Solr

什麼是Solr

Solr 是Apache下的一個頂級開源項目,採用Java開發,它是基於Lucene的全文搜索服務器。Solr提供了比Lucene更爲豐富的查詢語言,同時實現了可配置、可擴展,並對索引、搜索性能進行了優化
Solr可以獨立運行,運行在Jetty、Tomcat等這些Servlet容器中,Solr 索引的實現方法很簡單,用 POST 方法向 Solr 服務器發送一個描述 Field 及其內容的 XML 文檔,Solr根據xml文檔添加、刪除、更新索引 。Solr 搜索只需要發送 HTTP GET 請求,然後對 Solr 返回Xml、json等格式的查詢結果進行解析,組織頁面佈局。Solr不提供構建UI的功能,Solr提供了一個管理界面,通過管理界面可以查詢Solr的配置和運行情況。
solr是基於lucene開發企業級搜索服務器,實際上就是封裝了lucene。
Solr是一個獨立的企業級搜索應用服務器,它對外提供類似於Web-service的API接口。用戶可以通過http請求,向搜索引擎服務器提交一定格式的文件,生成索引;也可以通過提出查找請求,並得到返回結果

Solr與Lucene的區別

Lucene是一個開放源代碼的全文檢索引擎工具包,它不是一個完整的全文檢索引擎,Lucene提供了完整的查詢引擎和索引引擎,目的是爲軟件開發人員提供一個簡單易用的工具包,以方便的在目標系統中實現全文檢索的功能,或者以Lucene爲基礎構建全文檢索引擎。
Solr的目標是打造一款企業級的搜索引擎系統,它是一個搜索引擎服務,可以獨立運行,通過Solr可以非常快速的構建企業的搜索引擎,通過Solr也可以高效的完成站內搜索功能。

站內搜索技術選型

在一些大型門戶網站、電子商務網站等都需要站內搜索功能,使用傳統的數據庫查詢方式實現搜索無法滿足一些高級的搜索需求,比如:搜索速度要快、搜索結果按相關度排序、搜索內容格式不固定等,這裏就需要使用全文檢索技術實現搜索功能。
1. 單獨使用Lucene實現
單獨使用Lucene實現站內搜索需要開發的工作量較大,主要表現在:索引維護、索引性能優化、搜索性能優化等,因此不建議採用。
2. 使用Google或Baidu接口
通過第三方搜索引擎提供的接口實現站內搜索,這樣和第三方引擎系統依賴緊密,不方便擴展,不建議採用。
3. 使用Solr實現
基於Solr實現站內搜索擴展性較好並且可以減少程序員的工作量,因爲Solr提供了較爲完備的搜索引擎解決方案,因此在門戶、論壇等系統中常用此方案。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章