Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
本文是一个搭建solr服务的demo,从事开发的人都知道,程序猿讨厌的不只是写代码,更多的是弄开发环境,废话不多说了,下面开始学习搭建solr服务。
准备资料:
a、安装好tomcat服务器,solr只是一个war包,把war包部署到tomcat上就可以了,所有首先要有服务器,tomcat或者jboss都可以,我这里使用的是tomcat。
b、下载solr的压缩包,下载地址:http://lucene.apache.org/solr/
1. 解压 solr-4.9.0.zip
2. 拷贝 dist/solr-4.9.0.war 包,到Tomcat下webapps目录(C:\Soft\S\Tomcat\7.0.54\webapps),修改名字solr-4.9.0.war为solr.war。
3. 运行 Tomcat解压部署war包,或者手动解压部署目录为 solr
4. 进入solr目录,再进WEB-INF目录,打开web.xml文件,配置solr home。
找到如下配置:
<!-- People who want to hardcode their "Solr Home" directly into the WAR File can set the JNDI property here...
-->
<!--
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/put/your/solr/home/here</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
-->
拷贝修改如下:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>D:\solrHome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
5. 拷贝 solr-4.9.0\example\solr 目录文件到 D:\solrHome
6. 拷贝 solr-4.9.0\example\lib\ext 目录下jar包,到C:\Soft\S\Tomcat\7.0.54\webapps\solr\WEB-INF\lib
7. 在 C:\Soft\S\Tomcat\7.0.54\webapps\solr\WEB-INF\ 目录下创建 classes 目录
8. 拷贝 solr-4.9.0\example\resources\log4j.properties 文件,到 C:\Soft\S\Tomcat\7.0.54\webapps\solr\WEB-INF\classes
9. 配置 Tomcat 运行的JDK 7
10. 启动 Tomcat
11. 访问 http://localhost:8080/solr/
12. 启动tomcat,不会报错误了,会打印好多info的日志信息,
其中会有warn的信息,这个原因是因为在collection1下面的solrconfig.xml中的
<!-- 注释掉此部分否则回报warn警告-->
<!--
<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" /> -->
启动服务器后,访问页面,我用ip访问,界面如下:
说明服务启动成功,配置完好。
关于solrhome中文件的一下配置说明:
在conf中有一些配置文件,在data中存放的索引文件,具体的内容下个博客跟进