基于jar包搭建sorl3.5搜索服务器方式,这种搭建方式使得我们不再使用Solr默认提供,并对我们非常透明的WAR包来搭建,而是根据Solr发行包中的相关内容来搭建,更确切地说,我们把Solr在一个开发工具上搭建起来,暂且不考虑源码层面的内容。我使用的是MyEclipse6.5集成开发环境。
搭建步骤大体如下:
1.创建一个Web Project,工程名称为solr3.5_test;
2.将apache-solr-3.5.0-src\apache-solr-3.5.0\solr\example\multicore目录,拷贝到工程solr3.5_test下面;
3.将apache-solr-3.5.0\apache-solr-3.5.0\dist以及solrj-lib目录中jar文件,拷贝到工程solr3.5_test\WebRoot\WEB-INF\lib下面;
4.将apache-solr-3.5.0-src\apache-solr-3.5.0\solr\lib目录中jar文件,拷贝到工程solr3.5_test\WebRoot\WEB-INF\lib下面;
5.将
lucene-3.5.0\lucene-3.5.0\lucene-core-3.5.0.jar、
lucene-3.5.0\lucene-3.5.0\contrib\spatial\lucene-spatial-3.5.0.jar、lucene-3.5.0\lucene-3.5.0\contrib\highlighter\lucene-highlighter-3.5.0.jar、lucene-3.5.0\lucene-3.5.0\contrib\spellchecker\lucene-spellchecker-3.5.0.jar
这四个文件,拷贝到solr3.5_test\WebRoot\WEB-INF\lib下面;
6.将apache-solr-3.5.0-src\apache-solr-3.5.0\solr\webapp\web目录,拷贝到solr3.5_test\WebRoot,并覆盖原来的全部内容;
7.修改solr3.5_test\WebRoot\WEB-INF\web.xml文件,增加如下内容:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>E:\myeclipse6.5\workspace\solr3.5_test\multicore</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
实际上,就是指定了Web容器启动后,Solr加载实例的相关配置和索引数据的目录。
另外,这样是直接在web.xml中进行了硬编码配置,如果solr/home变化了,每次都需要修改web.xml文件。还有一种方式是,直接增加Web容器的启动选项来指定,如下所示:
-Dsolr.solr.home=E:\myeclipse6.5\workspace\solr3.5_test\multicore
这样,配置就更加灵活了,非常方便。
通过上面的配置,可以启动Tomcat服务器了,并通过访问http://localhost:8080/solr3.5_test来进行验证。