2016-04-24 37 views
0

有沒有什麼辦法可以將apache solr整合到tomcat 7中,還是必須在我的應用程序中運行兩臺服務器?可以在tomcat中運行apache solr而不是作爲單獨的服務器?如何在apache tomcat 7中集成apache solr?

+0

一個很好的方法是使用Spring Data Solr:http://projects.spring.io/spring-data-solr/ – duffymo

回答

0

官方回答是:將其作爲獨立應用程序運行。

不再支持

使用Solr 5.0開始,不再支持部署Solr的在servlet容器如Tomcat戰爭的支持。

有關如何將Solr作爲獨立服務器安裝的信息,請參閱Installing Solr

關於此舉的決定背景可以參考on the Solr Wiki

Solr旨在成爲服務器而不是Java Web應用程序,類似於MySQL或Apache Web服務器。 Solr第一次創建時,將其設計爲一個Web應用程序是一個方便的選擇,以避免編寫大量棘手的代碼來構建網絡層。這些天來,這個設計決定已經成爲一個限制因素。

當您下載Solr並將其安裝到您的機器上時,它應該是開始的Solr。在將Solr安裝到第三方應用程序(servlet容器)之前,應該沒有必要安裝它。

目前,Solr仍然是一個web應用程序,但這是一個內部實現細節,而不是一個不可變屬性。目的是使Solr成爲一個完全獨立的應用程序。啓動包含容器的啓動腳本是實現該目標的第一步。一旦Solr是獨立應用程序,Jetty仍可能是所用的技術,但如果發生這種情況,它將在內部嵌入。

0

Solr仍然是一個網絡應用程序。他們建議不要在另一個servlet容器中使用它,因爲它不被推薦和測試。

他們正在給一個完全測試的系統,並且不希望其他人(開發人員)花時間在其他容器上進行測試。

我用solr 3.4版本,並將其部署在Tomcat服務器在端口8080上 我的應用程序在8080端口部署在另一tomcat,是另一臺機器上。

我創建了solr war並在tomcat中部署了它。只有該服務器的8080端口是開放的並且只能由我們的應用程序訪問。我不確定solr版本5 ...即,是否可以在比jetty以外的其他容器中部署...但我認爲它可以在tomcat部署......你需要嘗試同一...

另一件事是,不deply應用戰爭和戰爭solr在同一個容器或單個容器中。原因是如果其中一個應用程序發生故障,一切都將停止。

如果solr出現故障,則應用程序可能關閉,這對應用程序不利。

+0

Solr版本6已經在地平線上,我不會建議自己構建它正如他們所說:_注意,如果您選擇進行這種部署,那麼您就是自己的。@ – cheffe

+1

@cheffe:我完全同意你的看法。我已經給了我的意見和經驗給OP ...現在完全是他自己的決定,他如何進一步... –

+1

明白,我應該更多地使用emojis :) – cheffe