# Solr 4和IKAnalyzer安裝配置指南
## 一、環境準備
在開始安裝配置前,請確保已準備好以下環境:
- JDK 1.7或更高版本
- Apache Tomcat 7.x/8.x
- Solr 4.10.4(本教程以該版本為例)
- IKAnalyzer 2012FF_hf1(兼容Solr 4.x的最新穩定版)
> 注意:Solr 4.x與JDK 1.8可能存在兼容性問題,推薦使用JDK 1.7
## 二、Solr 4安裝部署
### 1. 下載解壓
從Apache官網下載Solr 4.10.4:
```bash
wget https://archive.apache.org/dist/lucene/solr/4.10.4/solr-4.10.4.tgz
tar -zxvf solr-4.10.4.tgz
將解壓后的dist/solr-4.10.4.war復制到Tomcat的webapps目錄:
cp solr-4.10.4/dist/solr-4.10.4.war /path/to/tomcat/webapps/solr.war
mkdir -p /opt/solr/example
cp -r solr-4.10.4/example/solr/* /opt/solr/example/
編輯tomcat/bin/catalina.sh,添加:
export JAVA_OPTS="-Dsolr.solr.home=/opt/solr/example"
訪問http://localhost:8080/solr應看到Solr管理界面。
獲取IKAnalyzer 2012FF_hf1版本:
wget https://github.com/wks/ik-analyzer/releases/download/IKAnalyzer2012FF_hf1/IKAnalyzer2012FF_u1.jar
將jar包放入Solr的lib目錄:
cp IKAnalyzer2012FF_u1.jar /opt/solr/example/lib/
編輯/opt/solr/example/collection1/conf/schema.xml:
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true"/>
</analyzer>
</fieldType>
<field name="content" type="text_ik" indexed="true" stored="true"/>
確保lib路徑正確:
<lib dir="${solr.core.instanceDir}/lib" regex=".*\.jar" />
/path/to/tomcat/bin/shutdown.sh
/path/to/tomcat/bin/startup.sh
訪問http://localhost:8080/solr/#/collection1/analysis:
- Field Value輸入:”中華人民共和國”
- 選擇fieldType為text_ik
- 應看到分詞結果:[“中華”, “中華人民”, “中華人民共和國”, “華人”, “人民”, “人民共和國”, “共和”, “共和國”]
創建ext.dic和stopword.dic:
mkdir -p /opt/solr/example/collection1/conf/ik
touch /opt/solr/example/collection1/conf/ik/{ext.dic,stopword.dic}
修改schema.xml配置:
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory"
useSmart="false"
conf="ik"/>
</analyzer>
創建IKAnalyzer.cfg.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer擴展配置</comment>
<entry key="ext_dict">/opt/solr/example/collection1/conf/ik/ext.dic</entry>
<entry key="ext_stopwords">/opt/solr/example/collection1/conf/ik/stopword.dic</entry>
<entry key="remote_ext_dict">http://yourserver.com/ik/dict_update.php</entry>
</properties>
在catalina.sh中添加:
export JAVA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m"
<filter class="solr.CachingTokenFilterFactory" enablePositionIncrements="true"/>
<mergePolicy class="org.apache.lucene.index.TieredMergePolicy">
<int name="maxMergeAtOnce">10</int>
</mergePolicy>
-XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled
通過本文的步驟,您已成功搭建支持中文分詞的Solr 4搜索引擎。IKAnalyzer作為優秀的中文分詞器,能有效提升中文搜索體驗。建議定期維護擴展詞典,并根據實際業務需求調整分詞策略。
注:Solr 4.x已停止維護,生產環境建議升級到Solr 8.x或9.x版本,對應需要使用IKAnalyzer的高版本分支。 “`
(全文約1680字,實際字數可能因格式略有差異)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。