1.solr介绍
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
2.Solr的环境
Solr是java开发。
需要安装jdk。
安装环境Linux。
需要安装Tomcat。
3.搭建步骤
具体步骤如下:
1.到官网http://lucene.apache.org/solr/mirrors-solr-latest-redir.html下载.
2.将其上传到linux系统上,并解压缩
tar zxf solr-4.10.3.tgz.tgz
3.进入到solr-4.10.3目录下,可以看到有以下文件
4.将tomcat复制到solr文件夹下面
mkdir /usr/local/solr
cp -r apache-tomcat-7.0.47 /usr/local/solr/tomcat
5.将solr的war包部署到tomcat的webapps下面
cp solr-4.10.3/dist//solr-4.10.3.war /usr/local/solr/tomcat/webapps/solr.war
6.启动tomcat并在控制台打印出信息
cd /usr/local/solr/tomcat
bin/startup.sh
tail -f logs /catalina.out
这个时候会看到war包已经解压缩了
7.复制一些jar包到solr工程里
要先进入到solr-4.10.3目录下,复制example里的相应jar包
cp example/lib/ext/* /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/
8.配置solrhome,打开sole项目下的web.xml文件
cp -r example/solr /usr/local//solr/solrhome
cd /usr/local//solr/tomcat/webapps/solr/WEB-INF/
将图片上的位置改为/usr/local/solr/solrhome
9.再次启动tomcat服务器
cd /usr/local/solr/tomcat/
bin/startup.sh
tail -f logs/catalina.out
看到这个信息说明tomcat启动成功.
接下来访问 服务器ip地址:8080/solr,能打开solr的后台说明solr服务器搭建成功
4.配置业务域
创建步骤:
第一步:把中文分析器添加到工程中。
1、把IKAnalyzer2012FF_u1.jar添加到solr工程的lib目录下
cp IKAnalyzer2012FF_u1.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/
2、把扩展词典、配置文件放到solr工程的WEB-INF/classes目录下。
mkdir /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes
cp IKAnalyzer.cfg.xml ext_stopword.dic mydict.dic /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes/
第二步:配置一个FieldType,制定使用IKAnalyzer
修改schema.xml文件
这个文件在 /usr/local/solr/solrhome/collection1/conf下面
修改Solr的schema.xml文件,添加FieldType:
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
第三步:配置业务域,type制定使用自定义的FieldType。
设置业务系统Field
<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_desc" type="text_ik" indexed="true" stored="false" />
<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"/>
<copyField source="item_desc" dest="item_keywords"/>
第四步:重启tomcat