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目錄下
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地址及埠號。
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>