说起Apache Lucene,可以说无人不知,无人不晓,但是说道Apache Solr,恐怕知道的不多。看看Apache Solr的说明:
Solr是一个基于Lucene java库的企业级搜索服务器,包含XML/HTTP,JSON API, 高亮查询结果,faceted search(不知道该如何翻译,片段式搜索),缓存,复制还有一个WEB管理界面。Solr运行在Servlet容器中。所以Solr和Lucene的本质区别有以下三点:搜索服务器,企业级和管理。Lucene本质上是搜索库,不是独立的应用程序,而Solr是。Lucene专注于搜索底层的建设,而Solr专注于企业应用。Lucene不负责支撑搜索服务所必须的管理,而Solr负责。所以说,一句话概括Solr:Solr是Lucene面向企业搜索应用的扩展。
在本篇文章中,我们先看看Solr向我们承诺了什么,或者说Solr宣称的特性们。
-------------------------------------------------------------------------------------------配置------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
下载solr(1.4.1)以及tomcat(6.0.35)
解压solr将目录下apache-solr-1.4.1\dist\的apache-solr-1.4.1.war文件复制到apache-tomcat-6.0.35\webapps\下,并改名为:solr.war
在tomcat目录下:
apache-tomcat-6.0.35\conf\Catalina\localhost\
新增solr.xml
内容为:
<Context docBase="/apache-solr-1.4.1.war" debug="0" crossContext="true" > <Environment name="solr/home" type="java.lang.String" value="E:/source/apache-solr-1.4.1/example/solr" override="true" /> </Context>
ContextdocBase=“solr.war的目录,如果放在了/tomcat安装目录/webapps下,则是这么/solr.war”
Environmentname="solr/home"必须这么写,可能solr默认为solr的home目录(记住必须这么写)。
Environment value="E:\source\apache-solr-1.4.1\example\solr"值,是solr目录,就是包括bin,conf等目录,一定要有.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
启动tomcat.输入http://localhost:8080/solr/admin/出现管理页面。
若出现错误
报错:java.lang.RuntimeException: Can't find resource 'solrconfig.xml' in classpath or 'solr\.\conf/',
现将解决办法记录下来:
1、将solr目录下,dist目录中的apache-solr-3.4.0.war 改名为solr.war文件部署到tomcat的webapps目录中
2、将solr目录中example/solr子目录中的data和conf两个目录拷贝到第一步中webapps下的solr目录中(需要启动一次tomcat,会自动 将war解压,这样就会生成solr目录)3、修改tomcat的catalina.bat文件,在开始的地方添加JAVA_OPTS如下:
set JAVA_OPTS=%JAVA_OPTS% -Dsolr.solr.home=D:\works\jee\apache-tomcat-6.0.20\webapps\solr
注意,将solr.solr.home变量添加到系统环境变量中也不行,需要将其作为java的启动选项。
最后,重启tomcat,可以看到没有报错信息,接下来可以测试了。