关于Solr不想多做介绍,网上介绍的知识还是挺多的。我们直入正题,如何搭建一个学习Solr的环境,由于本人也是刚学solr,因此我们 就step by step... 边做边写边记
一、准备工具
- 下载Solr,以目前最新版solr-4.5为例
- 准备servlet容器,Tomcat,Jetty,Resin之类。以Tomcat7为例
二、开始动手
- 将solr解压出来,在solr-4.5.0\example\webapps下,有一个solr.war,将其copy至tomcat/webapps目录下,切记不要更改war包名字。启动tomcat,发现报错,停掉Tomcat.
- 将slf4j,commons-loggin.jar加入到apache-tomcat-7.0.42\webapps\solr\WEB-INF\lib下。 solr自身的war包中缺少这2个jar包,有些新同学会问如何发现这问题,你启动tomcat时候,出错,查看日志便知。
- 再次启动Tomcat.发现仍然有问题,错误提示如下:这说明是加载不了solr配置文件。
- 配置solr.home. 我选择的方式是JNDI,在apache-tomcat-7.0.42\webapps\solr\WEB-INF下面的web.xml中加上这么一段
将E:\solr_home 改为你自己的目录,然后将solr-4.5.0\example\solr复制到你的${solr_home}<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>E:\solr_home</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
- 再次启动Tomcat.发现报了这样一个异常:error loading class solr clustering clusteringcomponent。仔细查看,是在create core:collection1时发生的,于是将这个错误Google一下。发现在wiki也有提出了这样一个问题,wiki地址是:http://www.gossamer-threads.com/lists/lucene/java-dev/209751 本人英文不好,大致瞄了一下,意思问题是:solrconfig.xml中,默认开启了集群,关掉即可,至于集群的问题,先不是咱们讨论的范围,先解决掉这个问题吧。
- 在${solr_home}/collection1/conf下,打开solrconfig.xml,搜索solr.clustering.enabled.果然在1400行发现了
将true改为false,再次启动tomcat,一切正常。<searchComponent name="clustering" enable="${solr.clustering.enabled:true}" class="solr.clustering.ClusteringComponent" >
- 访问http://localhost:8080/solr/ 终于打开了管理界面。至此,最初步的环境,我们 就搭建成功了