solr版本:4.10.1
tomcat版本:7.0.23
jdk版本:1.7.0_01
注:solr明确要求jdk版本在1.7及以上
tomcat和jdk安装就不说了。
下载solr:http://lucene.apache.org/solr/downloads.html
- 解压solr-4.10.1,将:solr-4.10.1examplewebappssolr.war 部署到tomcat中,也就是copy solr.war到 E:serverapache-tomcat-solrwebapps中(我的tomcat换了个名字apache-tomcat-solr)
- 启动tomcat 解压 webapps中的solr.war生成solr目录(会报错先不管)
- 建一个文件夹用于存放solr的配置文件如 E:/solr/home 将 solr-4.10.0examplesolr 的所有文件copy到这个目录
- 修改 E:/solr/home/collection1/conf/solrconfig.xml 中的
<dataDir>${solr.data.dir:}</dataDir>
为:
<dataDir>${solr.data.dir:E:/solr/home/collection1/data}</dataDir>
5. 复制:solr-4.10.1examplelibext 下的jar包到 apache-tomcat-solrwebappssolrWEB-INFlib中(因为会用到sl4j的包,原来的war里面没有)
6. 修改webappssolrWEB-INFweb.xml中的
<!-- <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> <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>
7. 在 apache-tomcat-solrwebappssolrWEB-INF下创建文件 classes文件夹,
并把 solr-4.10.1example esourceslog4j.properties copy 到:apache-tomcat-solrwebappssolrWEB-INFclasses中
8.补充一个启动发现log里面有警告 说jar包找不到
solrconfig.xml中有一些jar包的配置项,如
<lib dir="../../../contrib/extraction/lib" regex=".*.jar" /> <lib dir="../../../dist/" regex="solr-cell-d.*.jar" />
需修改一下这里的路径,或者
不要创建新的solr_home E:/solr/home;直接用解压之后的solr 文件 将所有 solrhome的配置直接指向解压的文件E:solr-4.10.1examplesolr
最后:启动tomcat,并访问 http://localhost:8080/solr/
这里有一个问题我耽误了半天,我tomcat startup时报错error filterstart ,我一直以为是jar包冲突了,
结果原来是没有配置catalina_home,一般自己打的war包直接扔tomcat里就行了,都没配置tomcat环境变量,
不知道是不是solr中有需要catalina_home的配置,加入catalina_home环境变量,启动成功!
--------------------------------------------------------割了不哭----------------------------------------------------------------------