您的位置:首页 > 运维架构 > Tomcat

Tomcat/Solr4.3.1 配置过程

2014-03-24 20:57 811 查看
记录下solr在tomcat下的配置:首先要保证tomcat环境是正常的,已自己的环境为例:
1:下载最新版的 solr-4.3.1.zip 解压 ,将solr-4.3.1\dist\solr-4.3.1.war文件复制到tomcat的webapps目录下,并将文件命名为solr.war
war是一个完整的web应用程序,包括了solr的jar文件和所有运行Solr所依赖的Jar文件,Jsp和很多的配置文件与资源文件。
2:修改 /usr/local/tomcat/conf/server.xml 文件中相应的行为:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
增加URIEncoding="UTF-8" 中文支持。
3:复制solr-4.3.1\example\solr目录到/home/solr_home位置,该目录为solr的应用环境目录。
4. 修改/home/solr_home/collection1/conf/solrconfig.xml文件中的dataDir一行内容为:
<dataDir>${solr.data.dir:/home/solr_home/data}</dataDir>目的是为了指定存放索引数据的路径。(/home/solr_home/data data 目录需要自己创建 也可以任意指定路径)
在4.3.1版本中 solr下面没有了 conf文件 多了一个 collection1,在solr.xml配置文件中
<cores adminPath="/admin/cores" defaultCoreName="collection1" host="${host:}" hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}" zkClientTimeout="${zkClientTimeout:15000}">
<core name="collection1" instanceDir="collection1" />
</cores>
</solr>
明确指出了 conf的位置 也可以修改 <core name="collection1" instanceDir="collection1" /> 改变其目录路径 ,默认加载 conf文件下面的内容。
5. 在 /usr/local/tomcat/conf/Catalina/localhost目录下新建文件solr.xml。增加内容如下:
<Context docBase=" /usr/local/tomcat/webapps/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="/home/solr_home" override="true" />
</Context>其中docBase为tomcat的webapps下的solr.war完整路径。Environment的value属性的值为存放solr索引的文件夹。

6:将 solr-4.3.1/example/lib/ext目录下的所有jar文件复制到/usr/local/tomcat/lib目录下,重启tomcat即可。(不然会报404页面找不到)

然后访问:http://192.168.0.233/solr 正常了。
然后查看 solr的logging会出现:
19:44:42 WARN SolrResourceLoader Can't find (or read) directory to add to classloader: ../../../contrib/extraction/lib (resolved as: /home/solr_home/collection1/../../../contrib/extraction/lib).
这样的警告;其实这是因为找不到 对应的jar包造成的。
在/home/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" />
<!-- If a 'dir' option (with or without a regex) is used and nothing
is found that matches, a warning will be logged.
-->
<lib dir="/non/existent/dir/yields/warning" /> 这个是警告信息

可以将 solr-4.3.1\目录下的 contrib 和 dist 拷贝到 /home/solr_home/collection1/conf 下面就可以了
然后修改上面的配置文件 即可。

转载:http://my.oschina.net/20130614/blog/145002
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  solr tomcat