您好,登录后才能下订单哦!
# 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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。