Solr是什么
Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。
Solr是一个全文检索服务器,只需要进行配置就可以实现全文检索服务。
Solr的安装及配置
1 安装jdk,tomcat
自己的jdk安装目录: /opt/jdk/jdk1.8.0_141
自己的tomcat安装目录 : /opt/tomcat/apache-tomcat-7.0.57
2 安装solr,解压
2.1 上传,解压
先保证tomcat是关闭的
自己的solr安装目录 : /opt/solr/solr-4.10.3
2.2 把solr下的war包部署到tomcat下,并改名
cd /opt/solr/solr-4.10.3/dist
ls
cp solr-4.10.3.war /opt/tomcat/apache-tomcat-7.0.57/webapps/solr.war
2.3 自动解压war包,并删除
启动tomcat会自动解压solr.war。
cd /opt/tomcat/apache-tomcat-7.0.57/bin/
./startup.sh
关闭tomcat。
./shutdown.sh
删除solr.war.
rm -f solr.war
2.4 把ext目录下所有jar包复制到solr工程中
cd /opt/solr/solr-4.10.3/example/lib/ext/
cp * /opt/tomcat/apache-tomcat-7.0.57/webapps/solr/WEB-INF/lib/
pwd
2.5 建solrhome目录,并移动文件进去
cd /usr/local/
mkdir -p solr/solrhome
cd /opt/solr/solr-4.10.3/example/
cp -r solr /usr/local/solr/solrhome/
2.6 告诉solr服务器solrhome的位置
需要修改solr工程的web.xml文件
cd /opt/tomcat/apache-tomcat-7.0.57/webapps/solr/WEB-INF/
vi web.xml
打开这一块的注释,并修改 <env-entry-value> 里的值,就是我们刚建的文件夹的位置
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
再调整下目录结构,改成这个样子.其实就是把原本solr里面的collection1和bin文件夹拖了出来
2.7 启动tomcat
cd /opt/tomcat/apache-tomcat-7.0.57/bin/
./startup.sh
2.8 在外部浏览器查看安装情况
输入 http://192.168.220.111:8080/solr/ 用你自己的ip地址
第一次开启会比较慢,出现如下图片,说明安装成功
2.9 如果外界无法访问,就查看防火墙状态,关了他
查看防火墙状态
firewall-cmd --state
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service
3 安装ik中文分词器
1、在solr中默认是没有中文分析器,需要手工配置。配置一个FieldType,在FieldType中指定中文分析器。
2、Solr中的字段必须是先定义后使用。
3.1 使用IK-Analyzer。
把分析器的文件夹上传到服务器。
3.2 需要把分析器的jar包添加到solr工程中
cd /opt/IK\ Analyzer\ 2012FF_hf1/
ls
cp IKAnalyzer2012FF_u1.jar /opt/tomcat/apache-tomcat-7.0.57/webapps/solr/WEB-INF/lib/
3.3 (在WEB-INF下创建classes目录)需要把IKAnalyzer需要的扩展词典及停用词词典、配置文件复制到solr工程的classpath
建classes目录
cp IKAnalyzer.cfg.xml ext_stopword.dic mydict.dic /opt/tomcat/apache-tomcat-7.0.57/webapps/solr/WEB-INF/classes/
3.4 配置fieldType。
需要在solrhome/collection1/conf/schema.xml中配置
cd /usr/local/solr/solrhome/collection1/conf/
ls
vi schema.xml
在文档的最下边,</schema>前添加
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
3.5 重新启动tomcat
启动Tomcat:
进入tomcat目录/bin,然后./startup.sh