CentOS 6 study notes (10)

CentOS6 environment installation Solr

Posted by Chen Xingxu on February 15, 2021

CentOS 6学习笔记(十)–CentOS6环境安装Solr

Solr 简介

Solr 是基于 Apache Lucene 构建的流行的、速度极快的开源企业搜索平台。

Solr 是一个独立的企业搜索服务器,具有类似 REST 的 API。通过 JSON、XML、CSV 或 HTTP 上的二进制文件将文档放入其中(称为“索引”)。您可以通过 HTTP GET 查询它并接收 JSON、XML、CSV 或二进制结果。

Solr 安装

安装 Tomcat

安装 Solr 前需要安装 Tomcat,安装方法可以参阅我之前发布的笔记:

CentOS 6学习笔记(七)–CentOS6环境安装Tomcat

准备工作

将 solr-4.10.3.tgz.tgz 上传到 /usr/local/ 目录下

tar -zxvf /usr/local/solr-4.10.3.tgz.tgz
mkdir /usr/local/solr
cp /usr/local/apache-tomcat-7.0.47 /usr/local/solr/tomcat -r
cp /usr/local/solr-4.10.3/dist/solr-4.10.3.war /usr/local/solr/tomcat/webapps/solr.war
#启动Tomcat,让Tomcat对war包进行解压
/usr/local/solr/tomcat/bin/startup.sh
tail -f /usr/local/solr/tomcat/logs/catalina.out
#war包解压完成后关闭Tomcat
/usr/local/solr/tomcat/bin/shutdown.sh
cd /usr/local/solr-4.10.3/example/lib/ext
cp * /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/
cd /usr/local/solr-4.10.3/example
cp -r solr /usr/local/solr/solrhome

配置

vi /usr/local/solr/tomcat/webapps/solr/WEB-INF/web.xml

按照下面两张图所示,将 solr/home 的注释删掉,将 solrhome 的路径改为 /usr/local/solr/solrhome/

使用

启动 Tomcat

/usr/local/solr/tomcat/bin/startup.sh
tail -f /usr/local/solr/tomcat/logs/catalina.out

访问以下地址:

Solr 所在服务器的IP:8080/solr

出现以下页面说明安装成功。

安装中文分析器

将 IKAnalyzer2012FF_hf1 文件夹上传到 /usr/local/ 目录下

cd /usr/local/IKAnalyzer2012FF_hf1
cp IKAnalyzer2012FF_u1.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/
mkdir /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes
cp ext_stopword.dic IKAnalyzer.cfg.xml mydict.dic /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes
cd /usr/local/solr/solrhome/collection1/conf
vim schema.xml

添加 FieldType:

<fieldType name="text_ik" class="solr.TextField">
  <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

配置业务域,type 制定使用自定义的 FieldType。以下内容根据实际项目添加:

<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
<field name="item_price"  type="long" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category_name" type="string" indexed="true" stored="true" />

<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_sell_point" dest="item_keywords"/>
<copyField source="item_category_name" dest="item_keywords"/>

重启 Tomcat

/usr/local/solr/tomcat/bin/shutdown.sh
/usr/local/solr/tomcat/bin/startup.sh
tail -f /usr/local/solr/tomcat/logs/catalina.out

在 Solr 中测试中文分析器效果

开机自启

vim /etc/rc.d/rc.local

添加

/usr/local/solr/tomcat/bin/startup.sh