我在网上看到过好几篇谈,solr在tomcat下的搭建过程。我也尝试了2天,不过不幸的是当时花了我2天的时间。我的配置也和他们一模一样,当时就是有问题。
不过后来被我看出问题来了。好吧,下面就来再一次搭建过程吧。
windows版本 http://labs.xiaonei.com/apache-mirror/lucene/solr/3.1.0/apache-solr-3.1.0.zip
linux版本 http://labs.xiaonei.com/apache-mirror/lucene/solr/3.1.0/apache-solr-3.1.0.tgz
2》准备运行容器,我用的是tomcat6.0.20.如果是玩的话,也可以不用准备专门的容易,你只需解压好solr的下载包,找到example文件夹,然后运行 start.jar。具体指令:java -jar start.jar做应用的时候,不建议采用该方式。该方式内部包含了jetty!
3》有关tomcat的使用,不是本文的重点,如果你有问题,请参见tomcat的使用。解压好tomcat,将solr包下面的dist文件夹中的apache-solr-3.1.0.war 拷贝到 tomcat的webapps,并且改名为 solr.war。
4》新建一个 solr-tomcat文件夹,我是把这个文件夹建立在C盘根目录,你可以采用同样方式,也可以不这样,放哪由你决定。 建立好该文件夹以后,在把它下面在建立一个solr文件夹,把solr包里面的example\solr文件夹下面的所有文件放入到 solr里面。
5》最后一步 配置 solr.home,可以有三种方式。
1)基于当前路径的方式
这种情况需要在c:\solr-tomcat\目录下去启动tomcat,Solr查找./solr,因此在启动时候需要切换到c:\solr-tomcat\
2)基于环境变量
windows在环境变量中建立solr.home,值为c:\solr-tomcat
linux在当前用户的环境变量中(.bash_profile)或在catalina.sh中添加如下环境变量
export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/opt/solr-tomcat/solr"
3)基于JNDI
在tomcat的conf文件夹建立Catalina文件夹,然后在Catalina文件夹中在建立localhost文件夹,在该文件夹下面建立solr.xml,其中内容:
以上的步骤和网上其他人说的一模一样,第五步中,我用的第3种,配置如下:
<Context docBase="c:/tomcat/webapps/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="c:/solr-tomcat/solr" override="true" />
</Context>
6.打开浏览器,访问 http://localhost:12002/solr/ 应该是没问题的。到这一步呢咱算把服务器搭建上了。就这么简单。现在其他都先不管,反正服务器运行起来了。运行的时候得保证没有2个tomcat同时运行,最好是把这个tomcat的端口和自己项目运行那个tomcat的端口改成不一样的。