Solr使用初探——Solr的安装环境与配置
一、依赖包
http://mirrors.cnnic.cn/apache/lucene/solr/
我们选择4.7.2的版本下载,因为4.8的版本需要jdk1.7的支持
1、 JDK 1.6以上
2、 solr-4.3.0.tgz
3、 Tomcat或者jetty(注意,solr包中本身就含有jetty的启动相关内容):apache-tomcat-7.0.39.tar.gz
我用的是tomcat,因此以tomcat作为部署内容。
二、安装
1、 解压tomcat包
2、 可选:修改tomcat的启动端口,缺省为8080,最主要设置页面的URIencoding为UTF-8
3、 可选:启动tomcat,并访问,如果没有错误,表示此内容已经OK
4、 解压solr包
5、 dist/solr-4.3.0.war包拷贝到tomcat/webapps下。修改名字为solr
6、 重新启动一下tomcat,这时会将war解开成一个目录
7、 注意,启动时,solr的应用除了自己的lib包之外,还依赖slf4j等相关包,我偷了个懒,将dist/*.jar, dist/solrj-lib/*.jar都拷贝到了tomcat/webapps/solr/WEB-INF/lib/下。
8、 在tomcat/conf/Catalina/localhost目录下,增加solr.xml——对应到solr应用,其文件内容为:
<?xml version="1.0" encoding="UTF-8" ?> <Context docBase="${TOMCAT_HOME}/webapps/solr.war" debug="0" crossContext="true"> <Environment name="solr/home" type="java.lang.String" value="${TOMCAT_HOME}/solr" override="true"/> </Context> |
此内容主要是为了配置solr/home变量
9、 将solr解开的包中对应的example/solr目录(含内容)全部拷贝到${TOMCAT_HOME}也即tomcat解开的目录下(这个用户可以自行定义,因为其中包含了所有的索引数据,所以务必要搞一个存储空间大一些的目录)
10、 重新启动tomcat,这时访问http://localhost:8080/solr会发现出了一个管理界面。注意,solr 4.3版本比较高,所以务必用比较新的浏览器来访问这个管理界面。
三、部署
上述只是简单安装上了,但是可以增加文档(注意不是上传文档)了,利用solr/update的服务。为了能够支持PDF、word等rich document的识别,要配置solr/update/extract服务以及对中文的识别。
1、 支持tika配置
A、 修改solr/home目录下的collection1/conf/solrconfig.xml文件,找寻“TikaLanguageIdentifierUpdateProcessorFactory”对应的配置块,将其打开,缺省是关闭的。
B、 将Extract和Tika对应的jar包拷贝到solr能认识的地方。也可以修改上述“A”对应的文件的lib的配置,其主要格式如下:
<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" /> |
我偷了个懒,将solr包解压后的contrib/extraction/lib目录下的所有jar包放入了solr应用的lib目录下——也即tomcat/webapps/solr/WEB-INF/lib下。
为Solr加入中文分词器
1 下载分词器:
配置的过程中出现了一些小问题,一下将详细讲下IK Analyzer的配置过程,配置非常的简单,但是首先主要你的Solr版本是哪个,如果是3.x版本的用IKAnalyzer2012_u6.zip如 果是4.x版本的用IK Analyzer 2012FF_hf1.zip,一定要对应上,要不然会配置失败。以下是详细步骤:
1、下载IK Analyzer。
下载地址为:http://code.google.com/p/ik-analyzer/downloads/list
但是由于本国国情,需要FQ才能下载,以下是本人亲自上传的资源,可以到以下页面下载4.x或者3.x:
solr4.x:http://download.csdn.net/download/tjcyjd/8420639
solr3.x:http://download.csdn.net/download/tjcyjd/8420523
2、拷贝配置文件。
解压压缩包将IKAnalyzer.cfg.xml、stopword.dic拷贝至需要使用分词器的core的conf下面,和core的schema.xml文件一个目录。
拷贝IKAnalyzer2012FF_u1.jar到项目lib下。
3、修改schema.xml配置文件。
与其它分词器的配置大体相同,在<types></types>配置项间加一段如下配置:
- <fieldType name="text_ik" class="solr.TextField">
- <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
- </fieldType>
最后就可以使用text_ik了
- <field name="my_name" type="text_ik" indexed="true" stored="true" multiValued="false" />
4、测试。
输入:http://localhost:8080/solr,分词效果如下