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的管理界面了