Solr是基于Lucene的全文搜索服务器, 它是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
本文档介绍将Solr4.2.0部署到Tomcat6并连接数据库获取数据的方法。
一、 Solr部署
1. 下载Solr后并将其解压,为说明方便,Solr解压之后的目录在本文档中称为SOLRDISTDIR。
2. 部署Solr的war包
拷贝文件SOLRDISTDIR\dist\solr-4.2.0.war至CALALINEHOME\webapps之中。
注:CALALINEHOME为Tomcat的主目录。
3. 部署Solr的工作目录
拷贝目录SOLRDISTDIR\example\solr至拟定的Solr工作目录。例如可以将其也拷入CALALINEHOME\webapps之中。拷贝完成的工作目录在本文档中称为SOLRWORK。
Solr工作目录确定后,需要在Solr服务器的配置中进行指定。启动Tomcat,在solr-4.2.0.war被自动解开部署后,打开CALALINEHOME\webapps\solr-4.2.0\WEB-INF\web.xml文件,并修改值为solr/home的env-entry-name节点对应的env-entry-value。env-entry-value值需要被指定为Solr的工作目录,即SOLRWORK。
例如针对前述工作目录,web.xml应做如下修改:
重新启动Tomcat后,Solr已功部署,在浏览器中打开http://IP:8080/solr-4.2.0,可以看到Solr已经启动。
二、 Solr连接数据库
1. 修改solrconfig.xml配置
solrconfig.xml文件位于SOLRWORK\collection1\conf之下,为了连接数据库,需要在其中增加以下配置:
…...
……
2. 增加数据库配置文件
在上述对solrconfig.xml配置的修改中,指定了通过文件data-config.xml配置数据库相关信息,因此需要在SOLRWORK\collection1\conf之下创建一个名为data-config.xml的配置文件,其具体内容类似如下:
driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://10.10.108.243:1433;DatabaseName=lessonsys"
user="pms"
password="pms"/>
query="SELECT id, a, b, c fromtableA"
deltaImportQuery=" SELECT id,a, b, c from tableA WHERE id='${dataimporter.delta.id}'"
deltaQuery="select id from tableA where modifyDate >'${dataimporter.last_index_time}'"
>
3. 修改schema.xml配置
Solr要正常从数据库中获得数据还需要修改SOLRWORK\collection1\conf\schema.xml文件,主要是将我们期望能够被Solr处理的字段进行配置。例如针对以上data-config.xml中的配置,需要对应修改schema.xml如下:
……
……
4. 增加jar包
在上述对配置文件solrconfig.xml的修改中使用到了DataImport(org.apache.solr.handler.dataimport.DataImportHandler),因此需要导入DataImport相关的jar包。
将SOLRDISTDIR\dist\下的文件solr-dataimporthandler-4.2.0.jar及solr-dataimporthandler-extras-4.2.0.jar拷贝至CALALINEHOME\webapps\solr-4.2.0\WEB-INF\lib之下即可。
如果拷贝完成以后,系统不能正常运作,则可以尝试在solrconfig.xml中增加一条使用DataImport的lib配置项,具体修改参考如下:
……
……
三、 Solr自动更新索引
Solr默认情况下已经配置了自动更新索引,如果确需修改,可以在配置文件solrconfig.xml中修改autoCommit的配置。
……
……
欢迎访问梦断酒醒的博客http://www.yanzhijun.net,点击此处订阅博客更新。