solr在Tomcat下安装

经常听同事说到solr,lucene,所以决定自己也研究一下,这样也好有个讨论的话题。

首先要搞清楚,solr是个什么东东。

solr是apache的一个开源项目,它是基于lucene的一个企业级全文索引和搜索引擎。

通过solr可以对数据源进行索引的建立,更新,查询和删除等操作,而索引的建立还会牵扯到分词等。


只看介绍,还是搞不清楚具体能做什么,只大概的了解是和搜索有关。一般是网站内全文搜索会用到,通过索引的建立来提高查询效率。

那么接下来还是先安装一个solr来看看。

solr可以跑在各种web容器中,我选择了tomcat,用jetty和resin也可以。

第一步,下载安装tomcat

第二步,修改tomcat配置文件,在server.xml文件中添加URIEncoding="utf-8"

 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />

第三步,创建一个上下文文件,在%TOMCAT_HOME%/conf/localhost/下创建一个xml文件,例如solr.xml,内容如下:

<Context path="/solr" docBase="/usr/share/tomcat/webapps/solr.war" debug="0" crossContext="true">
        <Environment name="solr/home" type="java.lang.String" value="/usr/share/solr/" override="true"/>
</Context>

第四步,下载solr部署文件。到以下网址下载http://www.apache.org/dyn/closer.cgi/lucene/solr/4.8.1。可以选择zip文件或者tar.gz,然后将其中的solr.*.*.war改为solr.war部署到tomcat的webapps目录下

第五步,创建solr配置文件。根据上下文文件中solr/home设定的值,创建相应的目录。在目录下要包含solr.xml,内容大致如下:

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true">
    <cores adminPath="/admin/cores" defaultCoreName="collection1">
         <core name="collection1" instanceDir="collection1" />
    </cores>
</solr>

这个文件指定了solr的目录结构。如果其中的core/name没有指定,缺省为collection1(或者cores节点不存在的话,缺省也是这个值)。如果指定了相关的instanceDir,那么这个文件夹是必须存在的,否则启动时候会报错。

在这个文件夹下面,需要存在以下配置文件,/conf/schema.xml, /conf/solrconfig.xml。可以从solr的例子中拷贝一份使用。

到这一步,基本配置就算完成了。

启动tomcat,登陆http://localhost:8080/solr/来验证以下安装是否成功。

如果成功,会看到一个solr的管理页面。失败的话,检查以下tomcat的log文件,对照配置文件,看看是哪一步配置出错了。

我是遇到了以下错误: SEVERE: Error filterStart

原因是solr4.2版本以后log配置修改了的原因,需要在tomcat的lib下加入依赖的jar包。将example/lib/ext/下的所有jar包拷贝到tomcat/lib/下重启tomcat就好了



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值