Solr 4.7.0 在windows7 & tomcat7.0.55 下部署及使用

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, 找出問題,解決問題。

發佈了48 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章