solr7.2.1 + tomcat + ik分词器安装及配置

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分词器是否可用,出现以下内容说明配置完成了。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/zhwyj1019/article/details/80065046