首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

怎么用Solr搭建自己的搜索服务

2013-07-16 
如何用Solr搭建自己的搜索服务最近在学习Solr,借这个机会丰富一下自己空荡荡的博客,同时也加深一下自己记

如何用Solr搭建自己的搜索服务
最近在学习Solr,借这个机会丰富一下自己空荡荡的博客,同时也加深一下自己记忆。还有特别提示各位读者,本人也是刚刚接触Solr,对其了解并不深入,有说的不对或错误的地方,望各位多多指点。

在搭建Solr搜索服务之前,先来了解两个问题。
什么是Solr?Solr能做什么?

什么是Solr

Solr是一个基于Lucene实现的全文搜索服务器。底层使用易于扩展和修改的Java 来实现。服务器通信使用标准的HTTP 和XML,所以如果使用Solr 了解Java 技术会有用却不是必须的要求。

Solr 主要特性有:
强大的全文检索功能,高亮显示检索结果,动态集群,数据库接口和电子文档(Word ,PDF 等)的处理。
而且Solr 具有高度的可扩展,支持分布搜索和索引的复制。

Solr能做什么

现在有站点都使用Solr作为搜索服务器,不仅仅因为它是Apache的开源项目,而是因为它

下载最新的Solr和Resin
Solr:http://lucene.apache.org/solr/
Resin:http://www.caucho.com/download/

我这里下载的Solr是4.3.0版本; Resin用的是本人以前一直用的3.0.25,这里也可以用Tomcat,有关Tomcat搭建Solr搜索服务器的可以参考:
http://www.originsoft.net/archives/32

数据用的是MySql,这里就不说MySql了

Solr 程序包目录结构
解压Solr压缩包到D:/solr-4.3.0
build :在solr 构建过程中放置已编译文件的目录。client :包含了一些特定语言调用Solr 的API 客户端程序,目前只有Ruby 可供选择,Java 客户端叫SolrJ 在src/solrj 中可以找到。dist :存放Solr 构建完成的JAR 文件、WAR 文件和Solr 依赖的JAR 文件。example :是一个安装好的Jetty 中间件,其中包括一些样本数据和Solr 的配置信息。            example/etc :Jetty 的配置文件。
            example/multicore :当安装Slor multicore 时,用来放置多个Solr 主目录。
            example/solr :默认安装时一个Solr 的主目录。
            example/webapps :Solr 的WAR 文件部署在这里。src :Solr 相关源码。            src/java :Slor 的Java 源码。
            src/scripts :一些在大型产品发布时一些有用的Unix bash shell 脚本。
            src/solrj :Solr 的Java 客户端。
            src/test :Solr 的测试源码和测试文件。
            src/webapp :Solr web 管理界面。管理界面的Jsp 文件都放在web/admin/ 下面,可以根据你的需要修改这些文件。

  Solr 的源码没有放在同一个目录下,src/java 存放大多数文件,src/common 是服务器端与客户端公用的代码,src/test 放置solr 的测试程序,serlvet 的代码放在src/webapp/src 中。

安装Resin
这里下载的是压缩包,直接解压即可D:/resin-pro-3.0.25

开始搭建Solr搜索环境
该准备的工作已经准备完毕,下面开始详述搭建Solr搜索环境

1、打开Eclipse新建一个Web项目

这里我是用新建的Maven项目,将D:\solr-4.3.0\example\webapps\solr.war解压到新建项目的webapp下面:如下图


在webapp下新建solr_home,这个目录后面配置solr/home JNDI 即:Lucene索引目录文件

2、修改web.xml配置solr/home JNDI



3、配置索引服务
在solr/home配置的目录下有solr.xml,该文件配置该索引服务上所拥有的所有索引。每个<core>标签表示一个搜索服务,它的name可以任意取名,再好与instanceDir索引根目录名一致。
instanceDir索引根目录名,即:solr/home下索引实例目录。该目录下需要有conf子目录下面包含有data-config.xml、schema.xml、solrconfig.xml。这三个Xml文件在下面会具体讲到。


4、配置索引创建数据源
这里要说道data-config.xml、schema.xml、solrconfig.xml和DataImportHandler

配置索引数据源data-config.xml


配置域(Field)类型及索引、查询分词器schema.xml

热点排行