2015年12月15日 星期二

Solr 5.x 簡易建置手冊

A. 系統及軟體規格

  • 主機(VM)規格

   CPU:2 Core 以上(建議最少 2GHz)
   RAM:4GB 以上(建議 8GB)
   HDD:30GB 以上(視 Solr Core 數多寡,單一Core約佔用250MB~300MB)

  • 系統規格

   RedHat Enterprise Linux 6.5 (CentOS Linux 6.5) 以上, x86_64

  • 軟體規格

   Java:Oracle JDK 1.7.0_79 x86_64 以上(建議 JDK 8),或 OpenJDK 1.7.0u55 x86_64 以上
   Tomcat:Tomcat Server 7.0.54 以上
   Solr:Solr 5.1.0 以上(建議 5.3.1 以上)
   Log4j:log4j 1.2.10 以上
   slf4j:slf4j 1.7.7 以上
   資料匯入 Driver:mysql-connector-java 5.1.32 以上(視匯入資料種類而定)
   資料匯入 dataimport:solr-dataimporthandler-<solr_version>.jar (依 solr 版本選用)
   中文分詞:mmseg4j 2.3.0 以上 ( for lucene/solr 5.x )



B. 安裝建置步驟

  • 安裝 RHEL 6.5 或 CentOS Linux 6.5

請保留 / partition 至少 10G以上,用以存放 Solr data

  • 安裝 JDK 1.7 或 JDK 1.8

請至 Oracle 網站下載
http://www.oracle.com/technetwork/java/javase/downloads/index.html

  • 安裝 Tomcat 7

請安裝以下幾個 Yum repository

1. 安裝 EPEL repo

https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

2. JPackage 6 Repo

http://mirrors.dotsrc.org/jpackage/6.0/generic/RPMS.free/jpackage-release-6-3.jpp6.noarch.rpm

3. 在 Terminal 指令列安裝 tomcat7

yum -y install tomcat7

4. Tomcat 7 Java runtime 建議設定

請修改 /etc/tomcat7/tomcat7.conf 檔案中的 JAVA_OPTS 參數值
JAVA_OPTS="-Xms2048m -Xmx4096m -Xmn1024m"

  • 安裝 Solr 5.3.1 及 Log4j、slf4j

1. 下載 Solr 5.3.1

請選擇其中一個 mirror site 下載即可
http://www.apache.org/dyn/closer.lua/lucene/solr/5.3.1

2. 解壓縮 solr-5.3.1.tgz

將 solr webapp 複製到 tomcat7 webapps 目錄下
tar zxvf solr-5.3.1.tgz
cp -r solr-5.3.1/server/solr-webapp/webapp /var/lib/tomcat7/webapps/solr
chown -R tomcat:tomcat /var/lib/tomcat7/webapps/solr

3. 修改 solr webapp 的 web.xml 設定檔,指定 solr home 目錄(即 solr core 目錄)

vim /var/lib/tomcat7/webapps/solr/WEB-INF/web.xml

找到 "solr/home" 那一段設定
將路徑 /put/your/solr/home/here
改為路徑 /opt/solr5

solr home(solr core目錄)可以指定任何地方,視自己方便即可

4. 建立基本的 solr home 目錄

solr home 路徑就是前一步驟設定的值,記得要複製一個 solr.xml 基本設定檔進去
mkdir -p /opt/solr5
cp solr-5.3.1/server/solr/solr.xml /opt/solr5/
chown -R tomcat:tomcat /opt/solr5

5. 安裝 Log4j、slf4j 等第三方 plug-in

Solr 5.3.1 已經內含基本的 log4j 及 slf4j jar 檔,可直接複製使用
cp solr-5.3.1/server/lib/ext/*.jar /var/lib/tomcat7/webapps/solr/WEB-INF/lib/
chown -R tomcat:tomcat /var/lib/tomcat7/webapps/solr


  • 安裝資料匯入相關 Driver

1. 下載 JDBC Driver

若是使用 MySQL DB 資料匯入到 solr 建立 index,請至 Oracle 下載 mysql-connector-java JDBC Driver
http://dev.mysql.com/downloads/connector/j/
本文撰寫時為 v5.1.37

2. 解壓縮及安裝 JDBC Driver

解壓縮 mysql-connector-java-5.1.37.tar.gz,並複製 jar 檔案到 solr lib 目錄下

tar zxvf mysql-connector-java-5.1.37.tar.gz
cp mysql-connector-java-5.1.37/mysql-connector-java-5.1.37-bin.jar /var/lib/tomcat7/webapps/solr/WEB-INF/lib/mysql-connector-java-5.1.37.jar
chown -R tomcat:tomcat /var/lib/tomcat7/webapps/solr


3. 安裝 Solr Data Import Handler

cp solr-5.3.1/dist/solr-dataimporthandler-5.3.1.jar /var/lib/tomcat7/webapps/solr/WEB-INF/lib/
chown -R tomcat:tomcat /var/lib/tomcat7/webapps/solr


  • 安裝中文分詞套件 mmseg4j 2.3.0 (for Solr 5.x)

請到 Github 下載套件
https://github.com/chenlb/mmseg4j-solr

1. 解壓縮及安裝 mmseg4j

解壓縮 mmseg4j-solr-2.3.0-with-mmseg4j-core.zip 並複製 jar 檔案到 solr lib 目錄下

unzip mmseg4j-solr-2.3.0-with-mmseg4j-core.zip
cp mmseg4j-core-1.10.0.jar mmseg4j-solr-2.3.0.jar /var/lib/tomcat7/webapps/solr/WEB-INF/lib/
chown -R tomcat:tomcat /var/lib/tomcat7/webapps/solr

2. 將斷詞字典檔 dics 複製到 solr home 目錄下

cp -r dics /opt/solr5/
chown -R tomcat:tomcat /opt/solr5


3. 中文斷詞之 schema.xml 設定範例

    <analyzer>
      <charfilter class="solr.HTMLStripCharFilterFactory"/>
      <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicpath="/opt/solr5/dics"/>
    </analyzer>
   

沒有留言: