Solr 是基於 Lucene 的企業級搜尋伺服器,支援面向搜尋、高亮顯示、多格式輸出(XML/JSON),並提供 HTTP 管理介面。雖然生產環境建議部署於 Linux,但 Windows 7 仍可作為開發/測試環境。本文記錄在 Win7 64 位元上部署 Solr 4.9.0 + Tomcat 8.0.9 + JDK 1.8 的完整流程,並釐清官方文件易誤解的 solr.solr.home 設定細節。

將 solr-4.9.0.zip 解壓至任意目錄,本文範例為 D:\Installed Applications\solr-4.9.0\solr-4.9.0。
將 solr-4.9.0\dist\solr-4.9.0.war 複製到 Tomcat webapps 目錄,建議重命名為 solr.war。
啟動 Tomcat,雖會報錯,但會自動將 WAR 解壓至 webapps\solr。也可手動解壓。
易錯點: 官方教學提到「指向的目錄需包含 conf/solrconfig.xml 與 conf/schema.xml」,實際上這兩個檔案位於 example/solr/collection1/conf,而非直接在 solr.home 下。正確做法是指向 example 目錄。
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>D:/Installed Applications/solr-4.9.0/solr-4.9.0/example</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
注意:路徑需使用正斜線 /。
在 $TOMCAT_HOME/conf/Catalina/localhost 建立 solr.xml:
<Context docBase="D:/Installed Applications/solr-4.9.0/solr-4.9.0/example/webapps/solr.war"
debug="0" crossContext="true" override="false">
<Environment name="solr/home" type="java.lang.String"
value="D:/Installed Applications/solr-4.9.0/solr-4.9.0/example" override="false"/>
</Context>
override="false" 可防止 Tomcat 重啟時覆蓋設定。
將 solr-4.9.0/example/solr/collection1 整個複製到 example 目錄下,使 example 直接包含 collection1。
將 example/lib/ext 下的 JAR 複製到 Tomcat lib 或 webapps/solr/WEB-INF/lib。若啟動仍報錯,依錯誤訊息從 dist 目錄補齊對應 JAR。
編輯 Tomcat conf/server.xml,在 <Connector> 標籤加入 URIEncoding="UTF-8"。
啟動 Tomcat,瀏覽器開啟 https://localhost:8080/solr/admin/,出現管理介面即成功。

關鍵在於正確設定 solr.solr.home 指向含 collection1 的上層目錄,並補齊必要 JAR。Linux 部署流程大同小異。