solr4.9在tomcat7下安装、配置
solr是一个基于Lucene、采用JAVA语言编写、运行于servlet容器中(如jetty,tomcat)的全文搜索服务器。本文提供solr在tomcat下安装、配置。
solr简介
solr是受欢迎的,速度极快的开源企业搜索平台。主要功能包括强大的全文搜索,搜索词高亮显示,分面搜索,近实时的索引,动态聚类,数据库集成,丰富的文件(例如,Word,PDF)处理,和空间搜索。Solr是高度可靠的,可扩展性和容错性,提供了分布式的索引,复制和负载均衡的查询,自动故障转移和恢复,集中配置和更多。许多世界上最大的互联网网站的导航、搜索功能都是采用solr实现的。
solr是一个基于Lucene、采用JAVA语言编写、运行于servlet容器中(如jetty,tomcat)的全文搜索服务器,提供了Rest 的HTTP接口,并支持多种数据格式如json,php,ruby,csv,phps,javabin及自定义格式。
使用的安装介质
- jdk1.7.0.45
- tomcat 7.0.55
- solr-4.9.0.tgz
- IKAnalyzer2012FF_u1.jar
安装步骤
1: 安装jdk1.7.0.45
2:安装tomcat6.0.36
3: 安装solr
#解压文件(假设把solr-4.9.0.tgz放在/home/solr目录中)
cd /home/solr
tar -zxvf solr-4.9.0.tgz
ln -s solr-4.9.0 solr
#更改solr工作目录
cp -r /home/solr/solr/example/solr /home/solr/solrhome
#更改solr web程序目录
mkdir solrweb
cp solr/dist/solr-4.9.0.war solrweb
cd solrweb
jar -xvf solr-4.9.0.war
rm -rf solr-4.9.0.war
cd ../
#复制solr扩展的jar到tomcat(假设tomcat安装在/home/solr/tomcat目录中)
cp solr/example/lib/ext/*.jar tomcat/lib
#告知solr它的工作目录在哪里,一般有两种方式,设置环境变量以及jndi。但我建议采用jndi,便于维护
在$TOMCAT_HOME/conf/Catalina/localhost里新建solr.xml文件,内容如下:
<!--solr server configuration --> <?xml version="1.0" encoding="UTF-8"?> <Context docBase="/home/solr/solrweb" debug="0" crossContext="true" > <Environment name="solr/home" type="java.lang.String" value="/home/solr/solrhome" override="true" /> </Context>其中里面的/home/solr/solrhome就是所谓的solr工作目录.solr配置,以及索引都将存放到该目录
启动tomcat即可。
http://172.168.63.233:8080/solr
默认的端口是8983,修改tomcat/conf/server.xml中的http端口即可。
4: 安装中文分词IKanalyzer:
将IKAnalyzer2012FF_u1.jar放到/home/solr/solrweb/WEB-INF/lib目录中
对应的配置文件放在jar包的根目录下:IKAnalyzer.cfg.xml,stopword.dic,ext.dic
5:设置IKAnalyzer中文分词
修改/home/solr/solrhome/collection1/conf/中的schema.xml,在<type></types>中增加如下内容
<!-- china --> <fieldType name="text_ik" class="solr.TextField"> <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/> <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType>其中查询采用IK自己的最大分词法,索引则采用它的细粒度分词法.所以各自配置了isMaxWordLength
6:启动/停止solr
只要启动/停止Tomcat即可
验证