Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows 7 安裝 Solr + Tomcat 完整教學(含 JDK 環境、核心配置、中文支援)

編輯:Windows 7 系統介紹

前言

Apache Solr 是基於 Lucene 的企業級搜尋伺服器,提供全文檢索、面向搜尋、高亮顯示、多種輸出格式(XML/JSON)。本文記錄在 Windows 7 64 位元環境部署 Solr 4.9.0 + Tomcat 8.0.9 + JDK 1.8 的完整流程,核心難點在於 solr.home 目錄配置與 collection1 實例部署。

環境準備

元件版本/路徑
作業系統Windows 7 64-bit
JDK1.8.0_05 64-bit(JAVA_HOME 已設定)
Tomcatapache-tomcat-8.0.9-windows-x64(解壓至 D:\Tomcat)
Solrsolr-4.9.0(解壓至 D:\Solr\solr-4.9.0)

注意:Solr 4.9 需 JDK 1.7+,本教學使用 JDK 1.8 滿足需求。

部署步驟

步驟 1:部署 Solr WAR 檔至 Tomcat

  1. 將 D:\Solr\solr-4.9.0\dist\solr-4.9.0.war 複製至 D:\Tomcat\webapps\,重命名為 solr.war。
  2. 啟動 Tomcat(startup.bat),Tomcat 會自動解壓 WAR 產生 webapps\solr\ 目錄。啟動過程會報錯(預期),僅為觸發解壓。
  3. 關閉 Tomcat(shutdown.bat)。

步驟 2:配置 solr.home(核心關鍵)

Solr 需指向包含 conf/solrconfig.xml 與 conf/schema.xml 的目錄。官方文件說明:solr.solr.home 應指向包含 collection1(或其他 core)的父目錄。

兩種配置方式(擇一):

方式一:修改 web.xml(傳統)

  1. 編輯 D:\Tomcat\webapps\solr\WEB-INF\web.xml。
  2. 找到 <env-entry-name>solr/home</env-entry-name>,將 <env-entry-value> 設為 D:/Solr/solr-4.9.0/example(使用正斜線)。
  3. 儲存。

方式二:建立 Context 檔案(推薦,避免 WAR 重複解壓覆蓋配置)

  1. 在 D:\Tomcat\conf\Catalina\localhost\ 建立 solr.xml:
<Context docBase="D:/Tomcat/webapps/solr" debug="0" crossContext="true">
  <Environment name="solr/home" type="java.lang.String" value="D:/Solr/solr-4.9.0/example" override="false"/>
</Context>

override="false" 確保 Tomcat 重啟不重新解壓 WAR 覆蓋配置。

步驟 3:部署 Solr Core (collection1)

  1. 將 D:\Solr\solr-4.9.0\example\solr\collection1 整個資料夾複製至 D:\Solr\solr-4.9.0\example\(即 solr.home 指向的目錄)下。
  2. 確認結構:D:\Solr\solr-4.9.0\example\collection1\conf\solrconfig.xml 與 schema.xml 存在。

步驟 4:複製必要 JAR 檔至 Tomcat lib

  1. 將 D:\Solr\solr-4.9.0\example\lib\ext\ 下所有 JAR 複製至 D:\Tomcat\lib\(全域類別路徑)或 D:\Tomcat\webapps\solr\WEB-INF\lib\(Webapp 專用)。
  2. 若啟動仍報 ClassNotFoundException,從 D:\Solr\solr-4.9.0\dist\ 尋找對應 JAR 補齊。

步驟 5:啟用 Tomcat UTF-8 支援(解決中文查詢亂碼)

  1. 編輯 D:\Tomcat\conf\server.xml。
  2. 找到 <Connector port="8080" ... 行,加入 URIEncoding="UTF-8":
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           URIEncoding="UTF-8" />

步驟 6:啟動驗證

  1. 啟動 Tomcat(startup.bat)。
  2. 瀏覽器開啟 https://localhost:8080/solr/admin/,出現 Solr 管理介面即成功。
Solr 管理介面
圖 1:Solr Admin 介面成功載入
Solr 核心管理頁面
圖 2:Core 管理頁面

常見坑點總結

  • solr.home 指向錯誤:必須指向包含 collection1 的父目錄,而非 collection1 本身或 conf 目錄。
  • 路徑分隔符:配置檔務必使用正斜線 /,Windows 反斜線會導致解析失敗。
  • JAR 衝突:Tomcat lib 與 Webapp lib 重複載入可能導致 LinkageError,建議統一放入 Tomcat lib。
  • 端口佔用:8080 被佔用時修改 server.xml Connector port。

Linux 部署差異

步驟大同小異,主要差別:

  • JDK/Tomcat/Solr 安裝路徑通常為 /opt 或 /usr/local。
  • 啟動腳本使用 systemd 或 init.d 管理。
  • 環境變數 JAVA_OPTS 設定 solr.solr.home(官方推薦方式)。
  • 檔案權限需確保 Tomcat 執行使用者可讀寫 solr.home。
Copyright © Windows教程網 All Rights Reserved