一、安裝環境
圖1-1 Tomcat和Solr的版本
??? 我本機目前使用的Java版本為JDK 1.8,因為Solr 4.9要求Java版本為1.7+,請注意。
二、Solr部署到Tomcat流程
圖1-2 Tomcat安裝目錄
??? 1、如圖1-2所示,為Tomcat的解壓目錄;
圖1-3 Tomcat首頁
? ?? 2、在目錄E:\apache-tomcat-8.0.9\bin中,找到startup.bat文件,雙擊該文件,啟動Tomcat服務器,等待幾秒鐘后,在瀏覽器中輸入 http://localhost:8080/ ,如果服務器啟動正常的話,則會出現如圖1-3所示的界面;
?? 3、在E:\apache-tomcat-8.0.9\conf\server.xml中,找到<Connector>標簽,在該標簽尾端添加URIEncoding="UTF-8",目的為解決中文搜索亂碼,如下代碼所示:
?
connectionTimeout
="20000"
redirectPort
="8443"
URIEncoding
="UTF-8"
/>
圖1-4 solr-4.9.1.war復制粘貼到當前目錄,改名為solr.war
圖1-5 Tomcat的webapps目錄
?? 4、將目錄E:\solr-4.9.1\dist中的solr.war文件,復制到E:\apache-tomcat-8.0.9\webapps中,因為我們之前已經啟動的Tomcat服務器,所以solr.war會自動解壓出solr文件夾,如上圖1-5所示;
圖1-6 關鍵文件復制
??? 5、關閉Tomcat服務器(也就是關閉startup.bat啟動的那個命令行界面),E:\apache-tomcat-8.0.9\webapps目錄下新建文件夾solr_home,然后將E:\solr-4.9.1\example\solr中的文件夾collection1和solr.xml復制到E:\apache-tomcat-8.0.9\webapps\solr_home目錄中;
圖1-7 配置文件修改solr_home
??? 6、打開文件E:\apache-tomcat-8.0.9\webapps\solr\WEB-INF\web.xml,找到<env-entry>標簽,修改代碼部分如上圖1-7所示;
圖1-8 static firstSearcher warming in solrconfig.xml ---> *.*
??? 7、打開E:\apache-tomcat-8.0.9\webapps\solr_home\collection1\conf\solrconfig.xml,將<listener event="firstSearcher" class="solr.QuerySenderListener">標簽下內容按圖1-8修改;
圖1-9 關鍵目錄的復制
??? 8、將E:\solr-4.9.1中的contrib文件夾和dist文件夾復制到E:\apache-tomcat-8.0.9中;
圖1-10 配置Solr日志模塊
??? 9、將E:\solr-4.9.1\example\lib\ext下的5個jar包復制到E:\apache-tomcat-8.0.9\webapps\solr\WEB-INF\lib中;
圖1-11 配置日志輸出路徑到Tomcat的logs文件夾
??? 10、在E:\apache-tomcat-8.0.9\webapps\solr\WEB-INF文件夾中新建classes文件夾,復制E:\solr-4.9.1\example\resources\log4j.properties文件到classes文件夾中,修改log4j.properties文件,將“log4j.appender.file.File”的值修改為“../logs/solr.log”;
圖1-12 Solr在Tomcat中運行成功
??? 11、刪除E:\apache-tomcat-8.0.9\webapps文件夾下的solr.war文件,重啟Tomcat,在瀏覽器中輸入 http://localhost:8080/solr ,出現上圖1-12所示界面,則表明Solr在Tomcat中已經配置成功;
三、本章總結
??? 通過上一篇文章 《Lucene/Solr搜索引擎開發系列 - 第1章 Solr安裝與部署(Jetty篇)》 ,我們知道,Jetty服務器是Solr的默認服務器,只需要將Solr解壓縮,啟動Jetty服務器,在瀏覽器中輸入 http://localhost:8983/solr/ 就可以運行Solr后臺。
??? 為何我們要如此費勁的將Solr配置到Tomcat中呢?原因有以下幾點:
??? 1、經過多年的發展,一般企業都使用Tomcat作為開發和部署環境;
??? 2、程序員們對Tomcat的熟悉度,比Jetty要高很多,當Tomcat出現問題,也容易解決;
??? 3、大部分Java Web開發視頻,都是基于Tomcat來進行開發講解,傳播范圍廣;
轉載須知:
請尊重本人知識產權和勞動成果,本文可自由轉載,請注明出處:
博客網址:
http:
//www.cnblogs.com/zs8861/
聯系郵箱: 117711668@qq.com
歡迎交流!
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
