Solr是一个高性能,采用Java5开发,Solr基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
安装准备
安装前请确保centos7系统已经安装过jdk8和tomcat8
jdk安装请参考http://blog.youkuaiyun.com/u012806787/article/details/77096058
tomcat安装请参考centos7自学之3-tomcat环境配置
下载solr
cd /root/data
wget http://apache.fayea.com/lucene/solr/6.6.0/solr-6.6.0.tgz
tar -zxvf solr-6.6.0.tgz
mv solr-6.6.0 ../solr/
将tomcat解压后的文件夹移动到/root/solr/下面,如图
安装solr
1.将/root/solr/solr-6.6.0/server/solr-webapp/webapp文件夹复制到tomcat\webapps\下
cp -r /root/solr/solr-6.6.0/server/solr-webapp/webapp solr/tomcat-solr-8080/webapps/solr
2.将/root/solr/solr-6.6.0/server/lib/ext中的jar全部复制到/root/solr/tomcat-solr-8080/webapps/solr/WEB-INF/lib/目录中
cp -r solr/solr-6.6.0/server/lib/ext/*.jar solr/tomcat-solr-8080/webapps/solr/WEB-INF/lib/
3.将/root/solr/solr-6.6.0/server/lib/metrics*开头的jar全部复制到solr/tomcat-solr-8080/webapps/solr/WEB-INF/lib/目录中
cp -r solr/solr-6.6.0/server/lib/metrics-*.jar solr/tomcat-solr-8080/webapps/solr/WEB-INF/lib/
4.在/root/solr/tomcat-solr-8080/webapps/solr/WEB-INF下新建classes文件夹
mkdir /root/solr/tomcat-solr-8080/webapps/solr/WEB-INF/classes
5.将/root/solr/solr-6.6.0/server/resources/log4j.properties文件复制其中。
cp -r /root/solr/solr-6.6.0/server/resources/log4j.properties solr/tomcat-solr-8080/webapps/solr/WEB-INF/classes/
6.新建文件夹solrhome,创建core使用
mkdir /root/solr/solrhome8080
7.复制solr/solr-6.6.0/server/solr/*所有文件到tomcat/solrhome目录,用到创建solr的core时使用。
cp -r solr/solr-6.6.0/server/solr/* solr/solrhome8080/
配置solr
编辑web.xml文件,并配置solrhome路径
vim solr/tomcat-solr-8080/webapps/solr/WEB-INF/web.xml
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/root/solr/solrhome8080</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>
-->
创建core-collection1
1.新建文件夹
mkdir /root/solr/solrhome8080/collection1
cp -r solr/solrhome8080/configsets/sample_techproducts_configs/conf solr/solrhome8080/collection1
运行solr
./root/solr/tomcat-solr-8080/bin/startup.sh & tail -f /root/solr/tomcat-solr-8080/logs/catalina.out
访问solr服务器
效果图
ik分词器配置
Elasticsearch 内置的分词器对中文不友好,会把中文分成单个字来进行全文检索,不能达到想要的结果,所以需要配置一款智能的中文分词器–ik中文分词器
下载地址:点击这里
cd /home/root/data/
下载完成并上传到/home/root/data/,解压
yum install -y zip unzip
unzip ikanalyzer-solr6.6.zip
mkdir /home/root/solr/ik
mv /home/root/data/ikanalyzer-solr5 /home/root/solr/ik/
cd /home/root/solr/ik/
cp -r ext.dic stopword.dic IKAnalyzer.cfg.xml solr/tomcat-solr-8080/webapps/solr/WEB-INF/classes/
修改IKAnalyzer.cfg.xml
vim solr/tomcat-solr-8080/webapps/solr/WEB-INF/classes/IKAnalyzer.cfg.xml
复制solr-analyzer-ik-5.1.0.jar ik-analyzer-solr5-5.x.jar到solr/tomcat-solr-8080/webapps/solr/WEB-INF/lib/目录下。
cp ik-analyzer-solr5-5.x.jar solr-analyzer-ik-5.1.0.jar solr/tomcat-solr-8080/webapps/solr/WEB-INF/lib/
在 solr/solrhome8080/isolr/conf/managed-schema文件前增加如下配置
vim solr/solrhome8080/isolr/conf/managed-schema
重启solr服务器
./solr/tomcat-solr-8080/bin/shutdown.sh
./solr/tomcat-solr-8080/bin/startup.sh & tail -f solr/tomcat-solr-8080/logs/catalina.out
查看效果