有近2年没接触Solr跟Lucene了,这2年自己跟solr/lucene都发生了很多变化。不过有种疏途同归的感觉,那就是都向分布式/云和监控靠了。2年前接触了solrcloud,那时大概玩了一周。那时很想玩cloud,但发现solrcloud并不是具有那种cloud。于是放弃了。现在发现solr4.0貌似集成了以前的solrcloud,通过zookeeper去管理集群。同时监控和运维管理方面也更加方便了。但具体没有多看,迫于业务的压力,也是火急火燎的赶紧给搭了个solr,以后再慢慢深入。
以前虽然lucene,solr什么玩的很熟(源码层面).但两年没接触还真有点情同陌路。有时会想放弃一个自己熟悉的东西,去做新的东西,会很可惜。比如solr,lucene.
或许那时自己一直坚持下来,可能已经会有了自己的开源框架。爬虫也是,Heritrix坚持下来,或许分布式的,any ajax都可以抓取的框架已经猥琐出世。但这个世界没有什么
如果,只是从心底(所谓的follow heart),以及从身外(所谓的money)来说,我觉得当初的放弃,应该是暂时的放弃还是值得的。因为给了我不一样的视野。尤其全文检索等,拼到后面,拼的还是大数据,实时,数据挖掘。这也是当初我毅然决定做hadoop的原因。废话了一大把,进入主题吧。
1.依赖:
JDK1.6,Tomcat 5.5,Solr 4.0.0,IKAnalyzer 2012FF
Tomcat虽然不是必须,但觉得上生产环境的话,还是得用Tomcat,便于统一管理和监控.
Tomcat等你也可以用其他版本
#Tomcat:
wget http://archive.apache.org/dist/tomcat/tomcat-5/v5.5.35/bin/apache-tomcat-5.5.35.tar.gz
#Solr
wget Solr: http://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/4.0.0/apache-solr-4.0.0.tgz
#IKAnalyzer
wget http://ik-analyzer.googlecode.com/files/IK%20Analyzer%202012FF_hf1.zip
3.安装步骤:
1)JDK安装
JDK安装省略,你只要安装完成在环境中设置JAVA_HOME即可,比如我这边是JAVA_HOME=/usr/java/default
2) TOMCAT安装
TOMCAT安装省略,你只要安装完车功能在环境中设置CATALINA_HOME即可,比如我这边是CATALINA_HOME=/opt/tomcat/current
3) 安装solr
a.安装solr webapp
解压solr后得到apache-solr-4.0.0,进入apache-solr-4.0.0/dist/,可以看到apache-solr-4.0.0.war.该文件其实是个zip文件,用命令
unzip apache-solr-4.0.0.war将其解压,获得apache-solr-4.0.0,将其重命名为solr,放到tomcat目录下的webapps目录下,比如我这边是
/opt/tomcat/current/webapps/
b.安装中文分词IKanalyzer
解压IK Analyzer 2012FF_hf1.zip,获得IK Analyzer 2012FF_hf1.将该目录下的IKAnalyzer.cfg.xml,IKAnalyzer2012FF_u1.jar,stopword.dic
放到之前安装TOMCAT_HOME/webapps/solr/WEB-INF/lib/目录下,比如我这里是/opt/tomcat/current/webapps/solr/WEB-INF/lib/
4) 安装solr-work,也就是solr配置和索引目录
a.告知solr它的工作目录在哪里
一般有两种方式,设置环境变量以及jndi。但我建议采用jndi,还是那个原因,便于维护.
在$TOMCAT_HOME/conf/Catalina/localhost里新建solr.xml文件,内容如下:
<Context docBase="/usr/local/tomcat/webapps/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="/opt/solr/work/solr" override="true" />
</Context>
其中里面的/opt/solr/work/solr就是所谓的solr工作目录.solr配置,以及索引都将存放到该目录.
b.配置solr
简单的话将刚解压后的apache-solr-4.0.0/example/solr下的所有文件复制到/opt/solr/work/solr目录下
c.设置IKAnalyzer中文分词
修改/opt/solr/work/solr/collection1/conf/中的schema.xml,在<type></types>中增加如下内容:
++
<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属性.
4.启动/停止solr
只要启动/停止Tomcat即可