solr发布到tomcat下

一、下载solr

实验的版本:4.7.0

下载地址:http://mirrors.hust.edu.cn/apache/lucene/solr/4.7.0/solr-4.7.0.zip

二、部署处理

解压下载的压缩包,得到如下目录结构。

在你的电脑上建立一个solr的home目录,比如建在D:\solr_home,进入上面解压目录solr-4.7.0\example\solr,

把这个文件夹里面所有的文件copy到D:\solr_home,进入D:\solr_home\collection1\conf,里面有个solrconfig.xml文件,用记事本等文本处理工具打开,找到

<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />  
<lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />  
  
<lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />  
<lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />  
  
<lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />  
<lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />  
  
<lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />  
<lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />

把这几个配置注释掉,暂时用过不到。

<!--   
  <lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />  
  <lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />  
  
  <lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />  
  <lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />  
  
  <lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />  
  <lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />  
  
  <lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />  
  <lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />  
-->

同样是这个文件,在里面找到下面这项配置,这个是指定你的索引文件存在什么地方的

<dataDir>${solr.data.dir:}</dataDir>

我的索引文件是存在:D:\data\solr,把配置改成如下配置就可以了,保存修改后的文件。

<dataDir>${solr.data.dir:D:\data\solr}</dataDir>
 

进入solr压缩包得解压目录dist,里面有个solr-4.7.0.war包,复制到你的tomcat下的webapp目录,并解压到该目录下的solr目录,删除tomcat的webapp下的solr-4.7.0.war包。解压后进入solr目录,这个目录就是一个标准的web项目的目录了。

进入WEB-INF目录,找到web.xml用记事本等文本编辑工具打开,找到下面这段配置,env-entry-value这项配置,这个配置是指定你的solr的home目录

<!--  
  <env-entry>  
     <env-entry-name>solr/home</env-entry-name>  
     <env-entry-value>/put/your/solr/home/here</env-entry-value>  
     <env-entry-type>java.lang.String</env-entry-type>  
  </env-entry>  
 -->
 

我们把env-entry-value改为上面我们已经建了的D:\solr_home目录,并去掉注释,让配置生效

<env-entry>  
   <env-entry-name>solr/home</env-entry-name>  
   <env-entry-value>D:\workspace\lucene\solr_home</env-entry-value>  
   <env-entry-type>java.lang.String</env-entry-type>  
</env-entry>

这时候我们启动会报错,说找不到一些类,这些类是log4j相关的,记日志用的。

需要的jar包如下:

1)commons-logging-1.1.jar,网上找个

2)dom4j-1.6.1.jar在solr-4.7.0\dist\solrj-lib有

3)slf4j-api-1.6.6.jar在solr-4.7.0\dist\solrj-lib有

4)slf4j-log4j12-1.6.6.jar在solr-4.7.0\dist\solrj-lib有

找好上面4个jar包丢到tomcat的webapps\solr\WEB-INF\lib下面。

启动tomcat,浏览器进入:http://localhost:8080/solr,便进入了solr的管理界面了