系统:centos7
软件:solr7.0,IK分词
1、首先关闭防火墙,防火墙开启会导致很多意想不到的问题,当然,如果你是老鸟,请忽略。
1.1 查看当前linux的版本
[root@iZbp14go5jphjybw4d1r44Z ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
可以看到本机是centos7版本
1.2 centos7关闭防火墙:
systemctl stop firewalld.service
禁止开机启动:
systemctl stop firewalld.service
1.3 如果你的linux版本是centos6,可以这样关闭:
servcie iptables stop
禁止开机启动:
chkconfig iptables off
2、关闭selinux,selinux是一个 Linux 内核模块,也是 Linux 的一个安全子系统
vi /etc/selinux/config
修改 SELINUX=disabled 重新启动。
3、安装JDK1.8环境
3.1 下载JDK安装包
wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.rpm?AuthParam=1533109505_7c3fe96b586d7a6b972963c3acbcf3f3
如果链接失效,可以去官网下载http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html
3.2 赋权
chmod 777 jdk-8u144-linux-x64.rpm
3.3 安装
rpm -ivh jdk-8u144-linux-x64.rpm
默认的安装路径是/usr/java/
3.4 配置环境变量
vim /etc/profile
在文本末最后一行添加如下代码:
export JAVA_HOME=/usr/java/jdk1.8.0_144
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
保存退出。
使配置生效:
source /etc/profile
3.5 检查是否安装成功
[root@iZbp14go5jphjybw4d1r44Z deployment]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
说明安装成功。
4、安装solr
4.1 下载solr7.0 版本
wget http://mirror.bit.edu.cn/apache/lucene/solr/7.4.0/solr-7.4.0.tgz
4.2 解压
tar -zxvf solr-7.4.0.tgz
4.3 创建core
/deployment/solr-7.4.0/bin/solr create -force -c test_core
4.4 启动solr服务
/deployment/solr-7.4.0/bin/solr start -p 8080 -force
-p 是规定端口号
-force是使用root用户启动
这个时候打开http://server_ip:8080 应该可以访问
5、配置 ik中文分词器
5.1 下载ik中文分词器
wget https://download.loubobooo.com/Solr/ikanalyzer-solr5.5.zip
5.2 解压
unzip ikanalyzer-solr5.5.zip
如果没有unzip的话,输入 yum -y install unzip 来进行安装
5.3 下载jdbc mysql驱动
wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
5.4 解压
tar -zxvf mysql-connector-java-5.1.46.tar.gz
5.5 复制到solr目录
cp mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar /deployment/solr-7.4.0/server/solr-webapp/webapp/WEB-INF/lib
4.6 配置中文分词器IK Analyzer
4.6.1 进入IK Analyzer文件夹
cd ikanalyzer-solr5
4.6.2 把IKAnalyzer依赖的jar包添加到solr工程中
cp *.jar /deployment/solr-7.4.0/server/solr-webapp/webapp/WEB-INF/lib/
4.6.3 创建所需文件夹
mkdir /deployment/solr-7.4.0/server/solr-webapp/webapp/WEB-INF/classes
4.6.4 复制分词的配置文件到solr目录下
cp ext.dic IKAnalyzer.cfg.xml stopword.dic /deployment/solr-7.4.0/server/solr-webapp/webapp/WEB-INF/classes
4.6.5 配置分词器
vi /deployment/solr-7.4.0/server/solr/test_core/managed-schema
添加下面代码
4.7 配置数据源,使用jdbc。
vi /deployment/solr-7.4.0/server/solr/test_core/data-config.xml
添加如下代码(其中的url,user,password要替换成你自己的数据库信息)
4.8 继续添加业务域(这里我添加post_content和likes,id原来文件中已经添加了)
4.9 加入同步数据的jar包
到solr解压包下的dist目录下solr-dataimporthandler-5.4.1.jar和solr-dataimporthandler-extras-5.4.1.jar这两个jar包,同样放到部署solr的lib目录下。
cd /deployment/solr-7.4.0/dist
cp solr-dataimporthandler-7.4.0.jar solr-dataimporthandler-extras-7.4.0.jar /deployment/solr-7.4.0/server/solr-webapp/webapp/WEB-INF/lib/
# 开启导入数据功能(原来被solr禁用的)
vi /deployment/solr-7.4.0/server/solr/test_core/conf/solrconfig.xml
添加下面一段
data-config.xml
4.10 重启solr服务
/deployment/solr-7.4.0/bin/solr stop -force
/deployment/solr-7.4.0/bin/solr start -p 8080 -force
5、测试
5.1 测试数据导入
打开全文admin,设置全量导入,点击Execute
一段时间后,可以看见128395条数据导入完成
5.2 测试Ik分词是否成功
5.3 测试搜索
可以看到已经可以查到数据,而且速度很快,如果配置过程中遇到问题,可以点击logging查看错误原因。