為什么要solr:
1、solr是將整個索引操作功能封裝好了的搜索引擎系統(tǒng)(企業(yè)級搜索引擎產(chǎn)品)
2、solr可以部署到單獨的服務(wù)器上(WEB服務(wù)),它可以提供服務(wù),我們的業(yè)務(wù)系統(tǒng)就只要發(fā)送請求,接收響應(yīng)即可,降低了業(yè)務(wù)系統(tǒng)的負載
3、solr部署在專門的服務(wù)器上,它的索引庫就不會受業(yè)務(wù)系統(tǒng)服務(wù)器存儲空間的限制
4、solr支持分布式集群,索引服務(wù)的容量和能力可以線性擴展
solr的工作機制:
1、solr就是在lucene工具包的基礎(chǔ)之上進行了封裝,而且是以web服務(wù)的形式對外提供索引功能
2、業(yè)務(wù)系統(tǒng)需要使用到索引的功能(建索引,查索引)時,只要發(fā)出http請求,并將返回數(shù)據(jù)進行解析即可
Solr 是Apache下的一個頂級開源項目,采用Java開發(fā),它是基于Lucene的全文搜索服務(wù)器。Solr提供了比Lucene更為豐富的查詢語言,同時實現(xiàn)了可配置、可擴展,并對索引、搜索性能進行了優(yōu)化。
Solr可以獨立運行,運行在Jetty、Tomcat等這些Servlet容器中,Solr 索引的實現(xiàn)方法很簡單,用 POST 方法向 Solr 服務(wù)器發(fā)送一個描述 Field 及其內(nèi)容的 XML 文檔,Solr根據(jù)xml文檔添加、刪除、更新索引 。Solr 搜索只需要發(fā)送 HTTP GET 請求,然后對 Solr 返回Xml、json等格式的查詢結(jié)果進行解析,組織頁面布局。Solr不提供構(gòu)建UI的功能,Solr提供了一個管理界面,通過管理界面可以查詢Solr的配置和運行情況。
Lucene 是什么?
Lucene即全文檢索。全文檢索是計算機程序通過掃描文章中的每一個詞,對每一個詞建立一個索引,指明該詞在文章中出現(xiàn)的次數(shù)和位置。當用戶查詢時根據(jù)建立的索引查找,類似于通過字典的檢索字表查字的過程。
Lucene是一個基于Java的全文信息檢索工具包,它不是一個完整的搜索應(yīng)用程序,而是為你的應(yīng)用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta(雅加達) 家族中的一個開源項目。也是目前最為流行的基于Java開源全文檢索工具包。目前已經(jīng)有很多應(yīng)用程序的搜索功能是基于 Lucene ,比如Eclipse 幫助系統(tǒng)的搜索功能。Lucene能夠為文本類型的數(shù)據(jù)建立索引,所以你只要把你要索引的數(shù)據(jù)格式轉(zhuǎn)化的文本格式,Lucene 就能對你的文檔進行索引和搜索。
Solr和Lucene的區(qū)別
Solr和Lucene的本質(zhì)區(qū)別有以下三點:搜索服務(wù)器,企業(yè)級和管理。Lucene本質(zhì)上是搜索庫,不是獨立的應(yīng)用程序,而Solr是。Lucene專注于搜索底層的建設(shè),而Solr專注于企業(yè)應(yīng)用。Lucene不負責(zé)支撐搜索服務(wù)所必須的管理,而Solr負責(zé)。所以說,一句話概括Solr: Solr是Lucene面向企業(yè)搜索應(yīng)用的擴展。
Solr與Lucene的關(guān)系
Solr與Lucene 并不是競爭對立關(guān)系,恰恰相反Solr 依存于Lucene,因為Solr底層的核心技術(shù)是使用Lucene 來實現(xiàn)的,Solr和Lucene的本質(zhì)區(qū)別有以下三點:搜索服務(wù)器,企業(yè)級和管理。Lucene本質(zhì)上是搜索庫,不是獨立的應(yīng)用程序,而Solr是。Lucene專注于搜索底層的建設(shè),而Solr專注于企業(yè)應(yīng)用。Lucene不負責(zé)支撐搜索服務(wù)所必須的管理,而Solr負責(zé)。所以說,一句話概括 Solr: Solr是Lucene面向企業(yè)搜索應(yīng)用的擴展。
Solr與Lucene的開發(fā)成本
1. 使用Lucene實現(xiàn)
單獨使用Lucene實現(xiàn)站內(nèi)搜索需要開發(fā)的工作量較大,主要表現(xiàn)在:索引維護、索引性能優(yōu)化、搜索性能優(yōu)化等,因此不建議采用。
2. 使用solr實現(xiàn)
基于Solr實現(xiàn)站內(nèi)搜索擴展性較好并且可以減少程序員的工作量,因為Solr提供了較為完備的搜索引擎解決方案,因此在門戶、論壇等系統(tǒng)中常用此方案。
評論