很多像我剛接觸 Lucene 和 Solr 的人都會問這樣的問題:何時用Lucene?何時用Solr?兩種有什麼關係?
答案很簡單:如果你問自己這樣的問題,那麼99%的情形,你需要的是Solr!
Solr是什麼?
Apache Solr是包含各類功能的圍繞Lucene的HTTP包裝。
諸如增加了XML/HTTP和JSON API,XML/HTTP和JSON APIs、命中率加亮、面狀搜索,緩存、複製、Web管理界面等等。
其中Lucene爲包而非應用。Solr爲一Web應用(WAR),可部署在任一Servlet容器中,諸如Jetty、Tomcat、Resin等。
支持能力如何?
簡言之,當然如此!Solr社區很活躍也很樂於助人。
Lucene可讀取Solr的索引或反之?
因爲Solr之中內嵌了Lucene,實際上是一回事。
在技術上沒有所謂的Solr的索引,只有Solr實例創建的Lucene索引這樣的事情。
何時該用Lucene
如果想在應用中嵌入全文搜索功能(如桌面程序),Luucene是更合適的選擇
此類情況,更多的是個性化需求,需要訪問底層的Lucene API類,Solr 只會幫倒忙,因爲它是額外的間接(封裝)層。
=======================================================================
以下來自百度百科
Lucene是apache軟件基金會4 jakarta項目組的一個子項目,是一個開放源代碼的全文檢索引擎工具包,即它不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎,部分文本分析引擎(英文與德文兩種西方語言)。Lucene的目的是爲軟件開發人員提供一個簡單易用的工具包,以方便的在目標系統中實現全文檢索的功能,或者是以此爲基礎建立起完整的全文檢索引擎。