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