当前位置:首页 > 开发教程 > java教程 >

Apache Solr 初级教程(介绍、安装部署、Java接口、中文分词)

时间:2013-04-27 16:59 来源:网络整理 作者:采集侠 收藏

Apache Solr 介绍Solr 是什么? Solr 是一个开源的企业级搜索服务器,底层使用易于扩展和修改的Java 来实现。服务器通信使用标准的HTTP 和XML,所以如果使用Solr 了解Java 技术会有用却不是必须的要求。 Solr 主要特性有:强大的全文检索功能,高亮显示检索

Apache Solr 介绍 Solr 是什么?

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

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

Lucene 是什么?

  Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta 家族中的一个开源项目。也是目前最为流行的基于 Java 开源全文检索工具包。

  目前已经有很多应用程序的搜索功能是基于 Lucene ,比如 Eclipse 帮助系统的搜索功能。Lucene 能够为文本类型的数据建立索引,所以你只要把你要索引的数据格式转化的文本格式,Lucene 就能对你的文档进行索引和搜索。

Solr VS Lucene

  Solr 与Lucene 并不是竞争对立关系,恰恰相反Solr 依存于Lucene ,因为Solr 底层的核心技术是使用Apache Lucene 来实现的,简单的说Solr 是Lucene 的服务器化。需要注意的是Solr 并不是简单的对Lucene 进行封装,它所提供的大部分功能都区别于Lucene 。

安装搭建Solr 安装 Java 虚拟机

  Solr 必须运行在Java1.5 或更高版本的Java 虚拟机中,运行标准Solr 服务只需要安装JRE 即可,但如果需要扩展功能或编译源码则需要下载JDK 来完成。可以通过下面的地址下载所需JDK 或JRE :

安装中间件

  Solr 可以运行在任何Java 中间件中,下面将以开源Apache Tomcat 为例讲解Solr 的安装、配置与基本使用。本文使用Tomcat5.5 解压版进行演示,可在下面地址下载最新版本

安装Apache Solr 下载最新的Solr

  本文发布时Solr1.4 为最新的版本,下文介绍内容均针对该版本,如与Solr 最新版本有出入请以官方网站内容为准。Solr官方网站下载地址:

Solr 程序包 的目录结构
  • 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 中。

    Solr 主目录结构

    一个运行的Solr 服务其主目录包含了Solr 的配置文件和数据(Lucene 的索引文件)

    Solr 的主目录展开后为如下结构:

  • bin :建议将集群复制脚本放在这个目录下。

  • conf :放置配置文件。

  • conf/schema.xml :建立索引的schema 包含了字段类型定义和其相关的分析器。

  • conf/solrconfig.xml :这个是Solr 主要的配置文件。

  • conf/xslt :包含了很多xslt 文件,这些文件能将Solr 的XML 的查询结果转换为特定的格式,比如:Atom/RSS。

  • data :放置Lucene 产生的索引数据。

  • lib :放置可选的JAR 文件比如对Slor 扩展的插件,这些JAR 文件将会在Solr 启动时加载。

  • 如何 设置 主目录
  • 通过Java system property ,属性的名称是:solr.solr.home 。

  • 通过JNDI 将主目录的路径绑定到java:comp/env/solr/home 。

  • 通过修改web.xml 位置在:src/web-app/web/WEB-INF ,

  • 1 2 3 4 5 solr/

      如果Solr 主目录没有指定则默认设置为solr/

    发布运行Solr

      将apache-solr-1.4.0/dist/apache-solr-1.4.0.war 从安装包中解压到<tomcat home>/webapps 下。WAR 是一个完整的web 应用程序,包括了Solr 的Jar 文件和所有运行Solr 所依赖的Jar 文件,Jsp 和很多的配置文件与资源文件,这里需要注意的是:WAR 文件中不包括Solr 主目录,因此在启动tomcat 之前我们要先指定Solr 的主目录。

      将安装程序中的apache-solr-1.4.0/example/solr 文件夹解压到<tomcat homt>/ 下,然后在<tomcat home>/bin/catalina.bat 第一行添加如下内容:

    set JAVA_OPTS=%JAVA_OPTS% -Dsolr.solr.home=<tomcat home>/solr

    注:Windows 以外操作系统需修改 catalina.sh 文件。

    启动tomcat ,apache-solr-1.4.0.war 自动发布为web 应用。

    点击链接访问Solr 控制台界面,:8080/apache-solr-1.4.0/ ,显示如下界面表示启动成功。

    Apache Solr 初级教程(介绍、安装部署、Java接口、中文分词)


    java教程阅读排行

    最新文章