1. 程式人生 > 其它 >solr重建部分索引_(變強、變禿)Java從零開始之Solr

solr重建部分索引_(變強、變禿)Java從零開始之Solr

技術標籤:solr重建部分索引

Solr 安裝

1.單機版

1.1準備工作

1)linux上安裝jdk:jdk-8u11-linux-x64.tar.gz

配置環境變數:

 export JAVA_HOME=/usr/local/jdk
 export
 CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
 export PATH=$JAVA_HOME/bin:$PATH

1)安裝tomcat:apache-tomcat-7.0.47.tar.gz

1.2安裝Solr

安裝Solr:solr-4.10.3.tgz.tgz

Solr 是由兩個部分構成:

1) Solr 的 web 服務

1.1.將 solr 的 war 包,拷貝到 tomcat 的 webapps 目錄下

1.2.啟動tomcat,以解壓war包 ,檢視啟動日誌檢查是否解壓war包

1.3.新增服務中依賴的jar包

<!--注意:在tomcat關閉狀態下刪除war-->

jar包位置:/root/temp/solr-4.10.3/example/lib/ext 複製 到/usr/local/tomcat/webapps/solr/WEB-INF/lib/

2) Solr 的索引庫

2.1將/root/temp/solr-4.10.3/example/solr(即solr基本的索引庫示例)拷貝到/usr/local/solrhome , 需要手動建立solrhome目錄

<!--此為索引庫的絕對路徑-->

2.2配置索引庫位置

solr所在服務(tomcat)中的: /usr/local/tomcat/webapps/solr/WEB-INF下,配置web.xml:

 <env-entry>
        <env-entry-name>solr/home</env-entry-name>
        <env-entry-value>/usr/local/solrhome/solr</env-entry-value>
        <env-entry-type>java.lang.String</env-entry-type>
     </env-entry>

完成後,啟動tomcat ,訪問:http://192.168.190.131:8080/solr可以通過solr管理頁面對solr進行操作。

2.叢集版

2.1準備工作

1)安裝zookeeper叢集:詳情zookeeper安裝文件

2)安裝tomcat例項,修改埠8080-8083

3)清空單機版solr資料,作為叢集節點使用,將solrhome拷貝4份至solrcloud目錄下

aefbf61aa2952764f30db25efe31ec8d.png

2.2安裝流程:

1)建立solrcloud作為叢集目錄

2)將tomcat例項以及zookeeper拷貝到solrcloud目錄中

3)修改所有solr服務中指向solr索引庫的路徑,參照單機版

4)把 任意solrhome 中的配置檔案上傳到 zookeeper 叢集。使用 zookeeper 的客戶端上傳

在/root/temp/solr-4.10.3/example/scripts/cloud-scripts下執行:

 ./zkcli.sh -zkhost 192.168.70.147:2181, 192.168.70.147:2182, 192.168.70.147:2183 -cmd
 upconfig -confdir /usr/local/solrcloud/solrhome1/solr/collection1/conf -confname myconf

5) 修改所有solrhome 下的 solr.xml 檔案,指定當前實的 例執行的 ip地址及埠號。

04667446875b1e8d1950419fca203e08.png

6)修改所有solr的tomcat的bin目錄下catalina.sh檔案加入:

JAVA_OPTS="-DzkHost=192.168.70.147:2181,192.168.70.147:2182,192.168.70.14 7:2183"

配置完畢,可以啟動tomcat 測試。

2.3邏輯索引庫分片

建立一個新的 collection,並分兩片,每片是一主一備。 使用以下命令建立: http://192.168.70.147:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2

刪除原始庫:http://192.168.70.147:8080/solr/admin/collections?action=DELETE&name=collection1

3.solr索引庫配置項

3.1 solr home 目錄結構 ​ 3.1.1 solr.xml 配置 solr 叢集 ​ 3.1.2 collection1 (索引庫:solr core ) ​ 3.1.3 core.properties 設定索引庫的名稱 ​ 3.1.4 data 存放索引 ​ 3.1.5 conf 索引庫的配置目錄 ​ 3.1.5.1 schema.xml: 配置欄位以及欄位型別 ​ 3.2 索引庫配置

3.2.1schema.xml 是用來定義索引資料中的域的,包括域名稱,域型別,域是否索引,是否分詞,是否儲存等等。

3.2.5 配置中文分詞器(IK Analyzer) ​ 3.2.5.1 上傳中文分詞器 jar 包,以及配置檔案 ​ 3.2.5.2 將中文分詞器的配置檔案以及jar 包拷貝到Solr 所對應的目

<!--cp ext_stopword.dic IKAnalyzer.cfg.xml mydict.dic /usr/local/tomcat/webapps/solr/WEB-INF/classes/-->

Jar 包放到 WEB-INF/lib 目錄下。

<!--cp IKAnalyzer2012FF_u1.jar /usr/local/tomcat/webapps/solr/WEB-INF/lib-->

注:classes目錄需要手動建立

3.2.5.3 在schema.xml 中 配置中文分詞器 <fieldType name="text_ik" class="solr.TextField"> <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType>