solr7.2.1 + tomcat + ik分词器安装及配置
安装前准备:
Jdk 1.8以上
Solr 7.2.1
Tomcat 8.5.30
Ik分词器
Solr使用ik需要的资源
docker 环境
1、 安装docker环境
首先需要保证docker环境安装已经完成,没有安装的可以参考这篇文件进行安装 docker CE安装
2、 在docker环境下创建容器
docker run -p 8080 –name solr -i -t centos /bin/bash
因为会使用tomcat访问solr所以讲docker宿主机映射到容器的8080端口。
创建完成后会自动进入刚刚创建好的容器中。
3、 下载需要的资源
- 创建一个目录用来保存下载的文件
mkdir /soft
- 进入目录
cd soft
- 下载solr7.2.1
wget http://archive.apache.org/dist/lucene/solr/7.2.1/solr-7.2.1.tgz
- 下载tomcat8.5.30
wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.30/bin/apache-tomcat-8.5.30.tar.gz
下载ik和下载solr使用ik需要的资源
因为在网上下载可能比较麻烦,所以我将下载好的文件上传到我的码云仓库中了,可以通过以下命令clone我的仓库
首先安装git
yum install git
git clone https://gitee.com/zhwyj1019/solr_study.git
- 解压文件
solr_study目录下会有IK Analyzer 2012FF_hf1.zip和solr5_6_7需要的文件.zip两个zip文件
解压这两个zip
unzip solr5_6_7需要的文件.zip solrneed
unzip IK Analyzer 2012FF_hf1.zip ik
解压tomcat和solr
tar –zxvf solr-7.2.1.tgz
tar –zxvf apache-tomcat-8.5.30.tar.gz
5、安装
Tomcat8.5.30安装步骤:
tomcat解压出来之后就可以使用了,将tomcat复制到自己喜欢的位置,我是放在/usr/local/solr下,取名tomcat
mkdir /usr/local/solr
cp -r /soft/apache-tomcat-8.5.30/ /usr/local/solr/tomcat
Solr7.2.1安装步骤:
cd solr7.2.1
将solr7.2.1中server/solr-webapp/webapp目录复制到tomcat的webapps目录下,修改名为solr
cp -r /soft/solr-7.2.1/server/solr-webapp/webapp/ /usr/local/solr/tomcat/webapps/solr
将solr7.2.1中server/lib/ext下的所有jar包复制到上一步solr/WEB-INF/lib下;
cp -r /soft/solr-7.2.1/server/lib/ext/* /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/
将solr7.2.1中server/solr-webapp/lib下的metrics-*和gmetric4j-1.0.7.jar复制到solr/WEB-INF/lib目录下;
cp -r /soft/solr-7.2.1/server/lib/gmetric4j-1.0.7.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/ cp -r /soft/solr-7.2.1/server/lib/metrics-* /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/
将solr的server/resources目录下的log4j.properties文件复制到WEB-INF/classes目录下,默认没有classes目录,自己创建
mkdir /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes cp -r /soft/solr-7.2.1/server/resources/log4j.properties /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes/
将solr7.2.1中server/solr目录复制到/usr/local/solr下,命名为solrhome;
cp -r /soft/solr-7.2.1/server/solr /usr/local/solr/solrhome
修改tomcat/webapps/solr/WEB-INF/web.xml文件
vim /usr/local/solr/tomcat/webapps/solr/WEB-INF/web.xml
修改solrhome的路径
注释掉权限
到此solr7.2.1安装完毕了
启动tomcat
访问solr
http://xxxxx:xxxxx/solr/index.html
路径为docker安装的宿主机ip,端口为宿主机映射容器的外部访问端口,因为我是在阿里云上装的,所以路径就没有贴出来了
6、添加core
点击Add Core 会出现以下错误:
进入solrhome目录下可以看到生成了new_core这个目录,在这个目录下创建conf和data目录
cd /usr/local/solr/solrhome
cd new_core
mkdir conf
mkdir data
将solrhome中的/configsets/_default/conf/目录下的所有内容复制到刚才创建的conf目录下。
cp -r /usr/local/solr/solrhome/configsets/_default/conf/* /usr/local/solr/solrhome/new_core/conf
将schema修改为managed-schema(solr5之后改名了,所以需要我们手动修改一下),此时再点击Add Core就可以完成创建。
7、配置ik分词器
将ik-analyzer-solr5-5.x.jar复制到solr/WEB-INF/lib/ 中(注意:ik-analyzer-solr5-5.x.jar可以使用到solr-7.2.1,solr-7.3.0目前不能使用)
cp -r /soft/solr_study/solr_need/ik-analyzer-solr5-5.x.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/
然后IKAnalyzer.cfg.xml,mydict.dic,stopword.dic 复制到solr/WEB-INF/classes中
cp -r /soft/solr_study/solr_need/IKAnalyzer.cfg.xml /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes/
cp -r /soft/solr_study/solr_need/mydict.dic /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes/
cp -r /soft/solr_study/solr_need/stopword.dic /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes/
进入/usr/local/solr/solrhome/new_core/conf下也就是刚才新创建的core文件夹的conf目录中修改managed-schema的内容,添加下面的内容
vim /usr/local/solr/solrhome/new_core/conf/managed-schema
为了便于复制
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
重启tomcat,测试ik分词器是否可用,出现以下内容说明配置完成了。