Solr 4和IKAnalyzer如何安装配置

发布时间:2021-11-12 14:04:05 作者:小新
来源:亿速云 阅读:154
# 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

2. 部署到Tomcat

将解压后的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

3. 创建Solr Home目录

mkdir -p /opt/solr/example
cp -r solr-4.10.4/example/solr/* /opt/solr/example/

4. 配置Tomcat环境变量

编辑tomcat/bin/catalina.sh,添加:

export JAVA_OPTS="-Dsolr.solr.home=/opt/solr/example"

5. 启动Tomcat验证

访问http://localhost:8080/solr应看到Solr管理界面。

三、IKAnalyzer集成

1. 下载IKAnalyzer

获取IKAnalyzer 2012FF_hf1版本:

wget https://github.com/wks/ik-analyzer/releases/download/IKAnalyzer2012FF_hf1/IKAnalyzer2012FF_u1.jar

2. 部署jar文件

将jar包放入Solr的lib目录:

cp IKAnalyzer2012FF_u1.jar /opt/solr/example/lib/

3. 配置schema.xml

编辑/opt/solr/example/collection1/conf/schema.xml

添加fieldType定义

<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>

应用IK分词器到字段

<field name="content" type="text_ik" indexed="true" stored="true"/>

4. 配置solrconfig.xml

确保lib路径正确:

<lib dir="${solr.core.instanceDir}/lib" regex=".*\.jar" />

四、验证分词效果

1. 重启Tomcat服务

/path/to/tomcat/bin/shutdown.sh
/path/to/tomcat/bin/startup.sh

2. 使用Analysis界面测试

访问http://localhost:8080/solr/#/collection1/analysis: - Field Value输入:”中华人民共和国” - 选择fieldType为text_ik - 应看到分词结果:[“中华”, “中华人民”, “中华人民共和国”, “华人”, “人民”, “人民共和国”, “共和”, “共和国”]

五、高级配置

1. 扩展词典配置

创建ext.dicstopword.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>

2. 热更新词典配置

创建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>

六、常见问题解决

1. 分词器不生效

2. 词典热更新失败

3. 内存溢出问题

在catalina.sh中添加:

export JAVA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m"

七、性能优化建议

  1. 缓存配置
<filter class="solr.CachingTokenFilterFactory" enablePositionIncrements="true"/>
  1. 合并策略优化
<mergePolicy class="org.apache.lucene.index.TieredMergePolicy">
  <int name="maxMergeAtOnce">10</int>
</mergePolicy>
  1. JVM调参
-XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled

结语

通过本文的步骤,您已成功搭建支持中文分词的Solr 4搜索引擎。IKAnalyzer作为优秀的中文分词器,能有效提升中文搜索体验。建议定期维护扩展词典,并根据实际业务需求调整分词策略。

注:Solr 4.x已停止维护,生产环境建议升级到Solr 8.x或9.x版本,对应需要使用IKAnalyzer的高版本分支。 “`

(全文约1680字,实际字数可能因格式略有差异)

推荐阅读:
  1. mysql导入数据到solr的方法
  2. solr5搭建

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

solr ikanalyzer

上一篇:zookeeper3.3.6怎么安装

下一篇:Django中的unittest应用是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》