從apache網站下載solr,tomcat,ant。在solr用ant編譯後,在solr的dist目錄下會產生*solr*.war.你可以選擇把這個war copy到tomcat webapp下面。也可以通過jndi的方式來指定war的位置以及solr/home。因為solr會按照 $cmd(運行tomcat的目錄),以及solr/home去尋找solr需要的設定檔(schema.xml solrconfig.xml)以及最後索引的存放處都是以solr/home為基準目錄的。
jndi指定solr/home的方式為在Apache Software Foundation/Tomcat 6.0/conf/Catalina/localhost 目錄下建立一個solr.xml.內容為:
<Context docBase="D:/Temp/jaagle/apache-solr-1.3.0/dist/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="D:/Temp/jaagle/solr" override="true" />
</Context>
或者直接在web.xml中指定solr home的路徑
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/put/your/solr/home/here</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
我們可以清楚的看到war的位置以及設定檔的位置,solr內建的設定檔在 example/solr下面,copy這個目錄下的內容到指定目錄即可。
還有一種指定 solr/home的方式是在啟動tomcat前,參數中加入-Dsolr.solr.home=D:/Temp/jaagle/solr。這是一種靜態部署方式。你可以動態載入war,通過 http://localhost:8080/manager/html 進入tomcat的管理頁面。不過通過管理頁面載入的webapp在下一次tomcat啟動時是不會自動夾雜的。
對我們開發人員來說,最好能在eclipse調試solr的代碼。這可以通過下載eclipse tomcat plugin來解決這個問題。目前使用較多的plugin是sysdeo,可以從這個網址下載 http://www.eclipsetotale.com/tomcatPlugin.html。解壓後放入eclipse/plugins的目中,啟動後應該可以看到有這個按鈕加入到了工具列中。那幾個小貓從左至右就是用來啟動,停止,重啟tomcat用的。
一定要選擇jdk中的jre,否則sysde會運行不起來!
在context declaration mode中選擇server.xml
http://wiki.apache.org/solr/SolrTomcat
http://localhost:8080/manager/html/reload?path=/solr
http://www-128.ibm.com/developerworks/cn/opensource/os-ectom/