一、安装
1、需要的安装包有apache-tomcat-7.0.47.tar.gz、solr-4.10.3.tgz.tgz(jdk自行安装)
这里默认大家已经安装好jdk与tomcat,所以在这里不做说明,jdk安装点击这里,tomcat直接解使用。
2、解压solr的安装包,把tar -zxvf solr-4.10.3.tgz.tgz解压
[root@localhost local]# tar -zxvf solr-4.10.3.tgz.tgz
3、进入solr-4.10.3/dist下把solr-4.10.3.war复制到tomcat的webapps下面,并改名为solr.war
[root@localhost dist]# cp solr-4.10.3.war /usr/local/tomcat/webapps/solr.war
4、启动tomcat , war包自动解压,再把tomcat停止,删除solr.war包
进入/usr/local/tomcat/bin启动tomcat
[root@localhost bin]# ./startup.sh 停止tomcat
[root@localhost bin]# ./shutdown.sh 进入/usr/local/tomcat/webapps
删除solr.war包
[root@localhost webapps]# rm -rf solr.war
5、把刚刚解压的solr目录下/usr/local/solr-4.10.3/example/lib/ext ext文件夹里面的所以jar复制到tomcat里面solr工程的WEB-INF/lib/下面
[root@localhost ext]# cp * /usr/local/tomcat/webapps/solr/WEB-INF/lib/
6、创建solrhome文件夹。
该文件夹用来存放solr服务器所有配置文件。
将solr-4.10.3/example中的solr文件夹复制至/usr/local/ 下面,并改名solrhome
[root@localhost example]# cp -r solr /usr/local/solrhome
7、在tomcat里面solr工程中的web.xml文件中指定solrhome的位置 要进入/usr/local/tomcat/webapps/solr/WEB-INF下才有web.xml文件
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
一开始这里是注释掉的,所以我们要去掉注释
8、保存退出。启动tomcat
9、在浏览器地址栏输入http://192.168.25.101:8080/solr 就可以看到页面了,说明安装成功。
二、配置中文分析器 IK Analyzer
1、把IK Analyzer 2012FF_hf1文件夹上传到linux下。
2、IKAnalyzer2012FF_u1.jar 添加到tomcat下webapp中solr 工程的WEB-INF/ lib 目录下
[root@localhost IK Analyzer 2012FF_hf1]# cp IKAnalyzer2012FF_u1.jar /usr/local/tomcat/webapps/solr/WEB-INF/lib/
3、在tomcat下webapp中solr 工程的WEB-INF/下创建classes文件夹 把扩展词典、停用词词典、配置文件放到 solr 工程的 WEB-INF/classes 目录下。
[root@localhost IK Analyzer 2012FF_hf1]# mkdir /usr/local/tomcat/webapps/solr/WEB-INF/classes
[root@localhost IK Analyzer 2012FF_hf1]# cp ext_stopword.dic IKAnalyzer.cfg.xml mydict.dic /usr/local/tomcat/webapps/solr/WEB-INF/classes/
4、在solrhome/collection1/conf/schema.xml中配置filedType,可直接在后面添加
[root@localhost solrhome]# vim solr/collection1/conf/schema.xml
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
5、配置域
在solrhome/collection1/conf/schema.xml中配置,根据业务需要选择相应的字段对应solr的字段
<field name="item_goodsid" type="long" indexed="true" stored="true"/>
<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_price" type="double" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category" type="string" indexed="true" stored="true" />
<field name="item_seller" type="text_ik" indexed="true" stored="true" />
<field name="item_brand" type="string" indexed="true" stored="true" />
6、复制域
复制域的作用在于将某一个Field中的数据复制到另一个域中
<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_category" dest="item_keywords"/>
<copyField source="item_seller" dest="item_keywords"/>
<copyField source="item_brand" dest="item_keywords"/>
7、动态域
当我们需要动态扩充字段时,我们需要使用动态域。
对于一些商城项目规格的值是不确定的,所以我们需要使用动态域来实现。需要实现的效果如下:
配置:
<dynamicField name="item_spec_*" type="string" indexed="true" stored="true" />
8、保存退出,重启tomcat