CentOS7下搭建Solr 6.6全文检索服务器及IK分词器配置
详细介绍在CentOS7下搭建Solr 6.6全文检索服务器及IK分词器配置过程步骤,希望对大家有所帮助。
1.安装准备
下载Tomcat8.5和solr6.6上传文件到CentOS并解压:
安装前请确保CentOS已安装过jdk。
[root@localhost solr]# java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
查看:
tar -zxvf apache-tomcat-8.5.16.tar.gz tar -zxvf solr-6.6.0.tgz [root@localhost solr]# ls apache-tomcat-8.5.16 apache-tomcat-8.5.16.tar.gz solr-6.6.0 solr-6.6.0.tgz
2.安装过程
将 solr 压缩包中 solr\server\solr-webapp\文件夹下有个webapp文件夹,将之复制到tomcat\webapps\目录下,文件夹名改成solr(可任意) ;
[root@localhost apache-tomcat-8.5.16]# cd /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/webapps/ [root@localhost webapps]# ls docs examples host-manager manager ROOT solr
将 solr 压缩包中 solr\server\lib\ext 中的 jar 全部复制到 Tomcat\ webapps\solr\WEB-INF\lib 目录中。
[root@localhost lib]# cp /usr/yong.cao/dev/solr/solr-6.6.0/server/lib/ext/* /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/webapps/solr/WEB-INF/lib/
将solr压缩包中solr/server/lib/metrics* 开头的jar全部复制到 Tomcat\ webapps\solr\WEB-INF\lib 目录中。
[root@localhost lib]# pwd /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/webapps/solr/WEB-INF/lib [root@localhost lib]# cp /usr/yong.cao/dev/solr/solr-6.6.0/server/lib/metrics* .
在Tomcat\ webapps\solr\WEB-INF\下建立classes目录,并将solr/server/resources/log4j.properties文件复制其中。
cp log4j.properties /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/webapps/solr/WEB-INF/classes/
复制solr/server/solr/* 所有文件到tomcat/solrhome目录,用到创建solr的core时使用。
cp -rf * /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/solrhome/
配置Solr
编辑web.xml文件:
配置solr下core路径,初始状态下该内容是被注释掉的。
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/usr/yong.cao/dev/solr/apache-tomcat-8.5.16/solrhome</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
配置访问权限:找到如下内容,并注释掉:
<!-- <security-constraint> <web-resource-collection> <web-resource-name>Disable TRACE</web-resource-name> <url-pattern>/</url-pattern> <http-method>TRACE</http-method> </web-resource-collection> <auth-constraint/> </security-constraint> <security-constraint> <web-resource-collection> <web-resource-name>Enable everything but TRACE</web-resource-name> <url-pattern>/</url-pattern> <http-method-omission>TRACE</http-method-omission> </web-resource-collection> </security-constraint> -->
设置solr开机启动:
vim /etc/rc.local
在后面添加:
export JAVA_HOME=/usr/java/jdk1.8.0_131 sh /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/bin/startup.sh
3.运行Solr
启动:
/usr/yong.cao/dev/solr/apache-tomcat-8.5.16/bin/startup.sh
访问solr服务器:
http://192.168.128.128:8080/solr/index.html
创建core:
1.新建collection1
2.solrhome\configsets\sample_techproducts_configs 文件夹,将此文件夹下的conf 目录拷贝到刚刚建立的collection1的文件夹下。
[root@localhost sample_techproducts_configs]# cd /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/solrhome/ [root@localhost solrhome]# mkdir collection1 [root@localhost collection1]# cp -r /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/solrhome/configsets/sample_techproducts_configs/conf/ .
3.访问管理页面,Add Core。
4.输入collection1做为name和instanceDir
4.IK中文分词器配置
下载solr6.6IK分词器
------------------------------------------分割线------------------------------------------
可以到安科网1号FTP服务器下载
------------------------------------------分割线------------------------------------------
下载后上传到CentOS并解压。
[root@localhost solr]# mkdir ik [root@localhost solr]# cd ik/ [root@localhost ik]# cp /usr/yong.cao/ftp/ikanalyzer-solr6.6.zip . [root@localhost ik]# ls ikanalyzer-solr6.6.zip [root@localhost ik]# unzip ikanalyzer-solr6.6.zip Archive: ikanalyzer-solr6.6.zip creating: ikanalyzer-solr5/ inflating: ikanalyzer-solr5/ext.dic inflating: ikanalyzer-solr5/IKAnalyzer.cfg.xml inflating: ikanalyzer-solr5/stopword.dic inflating: ikanalyzer-solr5/solr-analyzer-ik-5.1.0.jar inflating: ikanalyzer-solr5/ik-analyzer-solr5-5.x.jar [root@localhost ik]# ls ikanalyzer-solr5 ikanalyzer-solr6.6.zip
将文件夹下的IKAnalyzer.cfg.xml , ext.dic和stopword.dic 三个文件 复制到/webapps/solr/WEB-INF/classes 目录下。
[root@localhost ikanalyzer-solr5]# cp ext.dic stopword.dic IKAnalyzer.cfg.xml /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/webapps/solr/WEB-INF/classes/
修改IKAnalyzer.cfg.xml(提供的下载包中该处已做修改)
<properties> <comment>IK Analyzer 扩展配置</comment> <!--用户可以在这里配置自己的扩展字典 --> <entry key="ext_dict">ext.dic;</entry> <!--用户可以在这里配置自己的扩展停止词字典--> <entry key="ext_stopwords">stopword.dic;</entry> </properties>
复制solr-analyzer-ik-5.1.0.jar ik-analyzer-solr5-5.x.jar到/solr/apache-tomcat-8.5.12/webapps/solr/WEB-INF/lib/目录下。
[root@localhost ik]# ls ikanalyzer-solr5 ikanalyzer-solr6.6.zip [root@localhost ik]# cd ikanalyzer-solr5/ [root@localhost ikanalyzer-solr5]# ls ext.dic ik-analyzer-solr5-5.x.jar stopword.dic IKAnalyzer.cfg.xml solr-analyzer-ik-5.1.0.jar [root@localhost ikanalyzer-solr5]# cp ik-analyzer-solr5-5.x.jar solr-analyzer-ik-5.1.0.jar /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/webapps/solr/WEB-INF/lib/
在 solrhome\collection1\conf\managed-schema 文件前增加如下配置
<!-- IK分词器 --> <fieldType name="text_ik" class="solr.TextField"> <analyzer type="index"> <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/> </analyzer> <analyzer type="query"> <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/> </analyzer> </fieldType>
命令操作如下:
[root@localhost ikanalyzer-solr5]# cp ik-analyzer-solr5-5.x.jar solr-analyzer-ik -5.1.0.jar /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/webapps/solr/WEB-INF/lib/ [root@localhost ikanalyzer-solr5]# cd /usr/yong.cao/dev/solr/apache-tomcat-8.5.1 6/solrhome/collection1/conf/ [root@localhost conf]# ls admin-extra.html protwords.txt admin-extra.menu-bottom.html _rest_managed.json admin-extra.menu-top.html _schema_analysis_stopwords_english.json clustering _schema_analysis_synonyms_english.json currency.xml solrconfig.xml elevate.xml spellings.txt lang stopwords.txt managed-schema synonyms.txt mapping-FoldToASCII.txt update-script.js mapping-ISOLatin1Accent.txt velocity params.json xslt [root@localhost conf]# vim managed-schema
重启solr服务器,测试IK分词效果。
sh /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/bin/shutdown.sh sh /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/bin/startup.sh
更多Solr相关教程见以下内容:
Solr 的详细介绍:请点这里
Solr 的下载地址:请点这里