Solr7.3.0环境搭建和配置ik中文分词器

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/newtelcom/article/details/80167398

1. 安装JRE,采用1.8的版本;

jre目录以及子目录授予root权限
chown root:root -R /usr/lib/jre1.8.0_172

编辑环境变量配置文件
vi /etc/profile 

在文件末尾加入下面代码,强制保存(w!)退出
export JAVA_HOME=/usr/lib
export JRE_HOME=/usr/lib/jre1.8.0_172
export CLASSPATH=$JRE_HOME/lib/rt.jar:$JRE_HOME/lib/ext
export PATH=$PATH:$JRE_HOME/bin

使环境变量即时生效

source /etc/profile

2. 准备tomcat,这边用的是apache-tomcat-8.0.51

3. 解压solr


4. 在Tomcat的webapps下新建solr目录

mkdir /usr/local/apache-tomcat-8.0.51/webapps/solr

复制/root/solr/solr-7.3.0/server/solr-webapp/webapp到/usr/local/apache-tomcat-8.0.51/webapps/solr目录


5. 新建solr_home目录,例如mkdir /usr/local/solr_home/

将解压后的solr-7.3.0文件夹下server\lib\ext内的所有jar包、server\lib内以metrics开头的所有jar包,以及gmetric4j-1.0.7.jar

复制到tomcat安装目录下的webapps\solr\WEB-INF\lib下。



6.在tomcat安装目录下的webapps\solr\WEB-INF中,新建一个classes文件夹,将解压后的solr-7.3.0文件夹下server\resources内的log4j.properties文件拷贝到里面

mkdir /usr/local/apache-tomcat-8.0.51/webapps/solr/WEB-INF/classes


7. 拷贝solr-7.3.0文件夹下/root/solr/solr-7.3.0/server/solr内的所有文件到solr_home的文件夹中(即solr的安装目录)


8. 在solr_home文件夹下新建一个logs文件夹

mkdir /usr/local/solr_home/logs

修改tomcat安装目录下bin文件夹中的catalina.sh,添加solr.log.dir系统变量, 指定solr日志记录存放地址(即上面创建的logs文件夹路径)。

JAVA_OPTS="$JAVA_OPTS -Dsolr.log.dir=/usr/local/solr_home/logs"


9. 在solr_home文件夹下新建一个new_core文件夹,将解压后的solr-7.3.0文件夹下/root/solr/solr-7.3.0/server/solr/configsets/_default下的conf文件夹拷贝到里面,


然后修改conf文件夹里solrconfig.xml文件,如下:


10. 修改tomcat安装目录下/usr/local/apache-tomcat-8.0.51/webapps/solr/WEB-INF/web.xml,添加如下内容:


注释如下配置:


11. 查看solr, http://localhost:8080/solr/index.html#/

点击Core Admin菜单,如果没有Core,会弹出如下框,直接添加Add Core。


添加以后就可以选择使用了。
instanceDir:  solr安装目录下的new_core文件夹的路径
dataDir: solr安装目录下的new_core\data文件夹的路径
config: solr安装目录下的new_core\conf\solrconfig.xml文件的路径

schema: solr安装目录下的new_core\conf\managed-schema文件的路径

12. 到这里solr的环境就搭建好了,但是没有中文分词功能,可以测试一下。下面开始整合中文分词器;


13. 将/root/solr/solr-7.3.0/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-7.3.0.jar复制到/usr/local/apache-tomcat-8.0.51/webapps/solr/WEB-INF/lib下。

14. 在/usr/local/solr_home/new_core/conf找到managed-schema,添加如下代码:
<fieldType name="text_ik_zd" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
         <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
    </analyzer>
    <analyzer type="query">
          <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
    </analyzer>
</fieldType>


重新启动Tomcat,就可以使用Solr自带的分词器了,测试自带分词。


15. 配置IK中文分词器(好处:IKAnalyzer支持屏蔽关键词、新词汇的配置)。解压ikanalyzer-solr6.5.zip:


solr-analyzer-ik-5.1.0.jar、ik-analyzer-solr5-5.x.jar为分词jar包;
ext.dic为扩展字典;
stopword.dic为停止词字典;

IKAnalyzer.cfg.xml为配置文件。

将IK分词器Jar包solr-analyzer-ik-5.1.0.jar、ik-analyzer-solr5-5.x.jar拷贝到/usr/local/apache-tomcat-8.0.51/webapps/solr/WEB-INF/lib下。

将ext.dic、stopword.dic、IKAnalyzer.cfg.xml拷贝到/usr/local/apache-tomcat-8.0.51/webapps/solr/WEB-INF/classes下。


16. 修改/usr/local/solr_home/new_core/conf/managed-schema:


重新启动Tomcat,就可以使用IK中文分词器了,测试IK分词。

对于我,是,没有再出现(因为在stopword.dic停用词词典中进行了配置)。


展开阅读全文

没有更多推荐了,返回首页