1, 解壓solr-4.7.0.zip,copy dist/solr-4.7.0.war 到tomcat/webapp下 (部署), 啓動tomcat
發現solr部署失敗:在tomcat的控制檯上可以看到 < Error filterStart >
解決:將solr-xxx.zip解壓後的lib/ext/*.jar,拷貝到tomcat/lib下。這裏主要是一些日誌相關的jar(log4j等)。
2. Solr部署成功後,訪問http://localhost:8080/solr 依然報錯
異常:HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure: Could not load config file ...\tomcat7055\bin\solr\collection1\solrconfig.xml,trace=org.apache.solr.common.SolrException: SolrCore 'collection1' is not available due to init failure: Could not load config file ...\tomcat7055\bin\solr\collection1\solrconfig.xml at ...
解決:這裏是因爲找不到solr core的配置。在webapps\solr\WEB-INF\web.xml:
取消註釋設置solr\home
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>F:\\SolrHomeN</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
3. 配置完solr\home後,發現http://localhost:8080/solr可以訪問了,但在solr admin界面上依然有異常。
這時可以通過solr 界面的logging來看具體的異常:
Caused by: java.lang.ClassNotFoundException: org.apache.solr.handler.dataimport.DataImportHandler
at java.lang.Class.forName(Class.java:219)
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:454)
... 18 more
解決:這時因爲在solrconfig.xml裏配置了:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">F:/SolrHomeN/runlog/conf/data-config.xml</str>
</lst>
</requestHandler>
將dist/solr-dataimporthandler-4.7.0.jar和dist/solr-dataimporthandler-extras-4.7.0.jar copy到webapps\solr\WEB-INF\lib下。
4. 至此,solr已經部署完成,可以通過界面正常訪問了。
(solr home目錄的準備工作暫時未詳細介紹)
Solr 自帶的logging還是很強大的。一定要根據logging, 找出問題,解決問題。