一,关于Solr
1,From Where
apache lucene是apache下一个著名的开源搜索引擎内核,基于Java技术,处理索引,拼写检查,点击高亮和其他分析,分词等技术。
nutch和solr原来都是lucene下的子项目。但后来nutch独立成为独立项目。nutch是2004年由俄勒冈州立大学开源实验室模仿google搜索引擎创立的开源搜索引擎,后归于apache旗下。nutch主要完成抓取,提取内容等工作。
solr则是基于lucene的搜索界面。提供XML/HTTP 和 JSON/Python/Ruby API,提供搜索入口,点击高亮,缓存,备份和管理界面。
hadoop原来是nutch下的分布式任务子项目,现在也成为apache下的顶级项目。nutch可以利用hadoop进行分布式多任务抓取和分析存储工作。
2,概述
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大DataSchema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。
二,配置到Tomcat中
下载地址: http://www.apache.org/dyn/closer.lua/lucene/solr/6.0.0
加压solr,copysolr.war 到tomcat下的webapps下面
之后启动tomcat,解压出solr文件:
建立solr_home文件夹(位置自选),将solr里面的东西copy到solr_home文件夹中,如我的为:F:\JavaYunWei\Solr\solr_home
之后在\apache-tomcat-7.0.69\webapps\solr\WEB-INF 这个文件夹中找到solr的web.xml文件,加入:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>F:\JavaYunWei\Solr\solr_home</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
这里的env-entry-value就是你的solr_home文件夹。再次重启tomcat,发现缺少jar,这时候,在..\apache-tomcat-7.0.69\webapps\solr\WEB-INF\lib 里面加入commons-logging-1.1.3和slf4j-api-1.7.6 这两个jar包。之后重启。(貌似jetty不缺少这俩jar)
在浏览器里面输入 http://localhost:8091/solr 出现如下页面说明成功: