`
zhaohaolin
  • 浏览: 1012127 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

轻轻松松学Solr(1)--概述及安装[转]

    博客分类:
  • JAVA
 
阅读更多

概述

这段时间对企业搜索产生了一定的兴趣,我自己一直从事企业内容管理系统(ECM)实施的工作,而我所了解到的相关产品,如Documentum,Open Text,Alfresco等都有自己的全文搜索引擎,但这些全文搜索引擎只负责搜索自己的内容库中的内容。而对于一个企业来说,有可能需要一个自己内部的google或百度,能对自己企业内部的所有数据进行索引,分类并能在实现信息安全的前提下,通过一个单一的搜索入口,实现对企业内部所有的数据进行搜索,方便企业内部的用户对数据的查找,从而极大提高企业对数据的利用效率。

 

企业搜索的产品很多,Autonomy,Endeca,google box,Solr/Lucene等。而Solr作为一款优秀的开源企业搜索引擎被很多技术人员尤其是java开发人员所熟知。

首先简单介绍一下Solr,Solr本身是一个完整的Web 应用,你能直接通过http request发送请求(RESTful)进行搜索相关的增删改查;当然,你也能直接通过java api--solrj的方式进行搜索方面的操作。Solr和Lucene的关系来说,Solr基于Lucene,在Lucene之上做了扩展,而Lucene其实是一个Lib而不是一个完整的应用。

本系列的相关文章以Solr为基础,一步一步地建立一个Web应用,用来搜索本地文件系统--桌面搜索引擎。

安装

下面就开始进入正题吧,让我们开始Solr之旅!第一步自然是安装Solr,并让Solr跑起来。

下载Solr

当前最新的release版本是Solr 3.6,你可以从http://lucene.apache.org/solr/downloads.html下载到二进制的版本。如果你是windows用户,请下载 apache-solr-3.6.0.zip。如果是linux用户,请下载apache-solr-3.6.0.tgz

运行环境

Solr对运行环境的唯一要求是要有Java,由于Solr本身是用Java编写的,因此你的机器上需要安装Java,版本应为Java 6的最新版。Solr本身只需要JRE环境就能运行,不过如果你还想通过jconsole检测系统,那就必须使用JDK了。

安装Solr

安装Solr可以说是超级简单,你所需要做的就是把之前下载下来的压缩包解压,That’s it!安装完成。Solr默认自带了Jetty–一个很轻量级的Servlet Container,你不需要安装其他任何组件就可以运行Solr了,当然你也可以将Solr安装在其他的J2EE兼容的application server上,比如Tomcat,不过目前我们暂时不做这方面的讨论。

到这里,你需要明确一个重要的信息就是Solr Home Directory,对于Solr自带的example应用来说,Solr Home Directory位于${install location}/example/solr,为什么说它重要呢?因为solr通过该路径找到相关的配置文件,如:solr.xml以及conf文件夹下的其他重要配置文件,如:schema.xml等。

启动Solr

OK!激动人心的时刻来了,我们准备启动Solr!首先进入example文件夹,然后运行jetty的start.jar:

>>cd example
>>java -jar start.jar

你会看到很多屏幕输出,最后你应该看到:

2012-04-17 15:25:58.711:INFO::Started SocketConnector@0.0.0.0:8983

如果到了这步,恭喜你Solr启动成功了!

初体验Solr

接下来我们就可以做一些小测试,体验一下Solr的功能了。你可能对以下的一些操作或参数不是很理解,没关系!这里你只需要照做就行,随着本系列的深入,你将会豁然开朗!

加载测试数据

首先进入example/exampledocs目录,然后运行post.jar,如下所示:

>> cd example/exampledocs
>>java -jar post.jar *.xml

你会看到如下输出:

 SimplePostTool: version 1.4
 SimplePostTool: POSTing files to http://localhost:8983/solr/update..
 SimplePostTool: POSTing file gb18030-example.xml
 SimplePostTool: POSTing file hd.xml
 SimplePostTool: POSTing file ipod_other.xml
 … etc.
 SimplePostTool: COMMITting Solr index changes..

到了这步又要恭喜你了,现在你的Solr里面有数据了!接下来我们就来做些小测试吧!

Solr Admin

访问http://localhost:8983/solr/admin/,你就能进入Solr Admin界面。如下图所示,admin很重要,尤其能极大方便你对数据的调试。

Query String输入框里面的*.*类似于SQL里面的select * from <table>,点击Search按钮,你就能看到一个xml的返回结果,如下图所示:

你可以点击其他的链接大致了解一下对应的功能。

查询Solr

和Solr的交换主要是通过HTTP/Restful方式进行的,下面通过一个非常简单的例子来说明。在浏览器的地址栏里输入:http://localhost:8983/solr/select/?q=monitor;该查询的含义就是查关键字monitor。返回的结果xml中,你能看到<result name=”response” numFound=”2″ start=”0″>,说明找到了2条记录。

Sample browse应用

接下来看一个更强大的sample应用程序,看了它你就知道solr能做些什么了!访问http://localhost:8983/solr/browse,这个应用的名称叫Solritas,它基于Velocity。这个应用包括了Solr的大部分功能,比如关键字搜索,facet search,highlight,autocomplete等。如下图所示,你现在可以试着探索一下这个应用。

关于Solritas一个令人着迷的地方是你只需通过修改一些配置就能快速建立一个符合你需求的搜索引擎原型,它是一个帮你快速建立原型的好工具。

分享到:
评论

相关推荐

    ik-analyzer-solr5-5.x.jar

    ik-analyzer分词器,支持solr5-5.x

    solr-mongo-importer-1.1.0.jar

    solr-mongo-importer-1.1.0.jar solr-mongo-importer-1.1.0.jar solr-mongo-importer-1.1.0.jar

    solr6--solr-dataimporthandler-scheduler-1.1

    在"solr6--solr-dataimporthandler-scheduler-1.1"这个项目中,我们关注的重点是DIH的调度功能,也就是如何定期自动更新Solr索引。 DataImportHandler(DIH)是Solr的一个插件,用于从关系型数据库或其他结构化数据...

    ik-analyzer-solr7-7.x.zip

    标题“ik-analyzer-solr7-7.x.zip”表明这是一个与Solr7相关的压缩包,其中包含了IK Analyzer,一个广泛使用的中文分词工具。这个压缩包特别为Solr7版本进行了优化,提供了完整的配置文件,使得用户可以方便地集成到...

    solr-import-export-json最新代码

    solr-import-export-json最新代码solr-import-export-json最新代码solr-import-export-json最新代码solr-import-export-json最新代码solr-import-export-json最新代码solr-import-export-json最新代码solr-import-...

    支持solr6.1-solr-dataimport-scheduler-1.2.jar

    在 Solr 的生态系统中,`solr-dataimport-scheduler-1.2.jar` 是一个非常重要的组件,它允许用户定时执行数据导入任务,这对于需要定期更新索引的应用场景尤其有用。这个特定的版本 `1.2` 已经被优化以兼容 `Solr ...

    solr(solr-9.0.0-src.tgz)源码

    这里我们将围绕"solr-9.0.0-src.tgz"这个源码包,详细探讨其主要组成部分、核心功能以及开发过程中的关键知识点。 1. **Solr架构** Solr的架构基于Lucene,一个强大的全文搜索引擎库。它提供了分布式、可扩展、高...

    apache-solr-dataimportscheduler-1.0.zip_official54l_solr 5.x定时生成

    1. **配置Solr服务器**:首先,将`apache-solr-dataimportscheduler-1.0.jar`添加到Solr服务器的`lib`目录下,确保服务器启动时能加载这个库。 2. **添加Scheduler配置**:在Solr的配置文件`solrconfig.xml`中,你...

    solr-4.9.0-安装部署文档

    - 将 C:\solr-4.9.0\example\resources\log4j.properties 复制到 C:\apache-tomcat-7.0.53\webapps\solr\WEB-INF\classes 3. **启动与测试** - 启动 Tomcat 服务器 - 在浏览器中访问 http://localhost:8080/solr...

    solr增量更新架包apache-solr-dataimportscheduler.jar

    "apache-solr-dataimportscheduler.jar" 是一个专门为Solr设计的扩展包,用于实现自动化的数据增量更新调度。 首先,我们要理解Solr的数据导入过程。Solr使用DataImportHandler(DIH)来从关系型数据库、XML文件或...

    solr5的中文分词器ik-analyzer-solr5-master.zip

    1. **下载与安装**:首先,解压"ik-analyzer-solr5-master.zip",然后在命令行执行`mvn install`,将IK Analyzer添加到本地Maven仓库。 2. **配置Solr**:在Solr的`schema.xml`或`managed-schema`文件中,配置IK ...

    Apache Solr(solr-8.11.1-src.tgz)

    标题中的"solr-8.11.1-src.tgz"表明这是Apache Solr 8.11.1版本的源代码包,适用于那些希望对Solr进行深度定制或开发的用户。 源代码发布通常包含了编译和构建Solr所需的所有文件,包括Java源代码、配置文件、测试...

    Apache Solr(solr-8.11.1.tgz)

    Solr-8.11.1是该软件的一个特定版本,包含了最新的特性和改进。 在"solr-8.11.1.tgz"这个压缩包中,我们可以期待找到以下关键组成部分: 1. **Solr WAR 文件**:这是核心的搜索服务器应用程序,通常命名为`solr....

    solr-data-import-scheduler

    solr 增量更新所需要的包 solr-dataimporthandler-6.5.1 + solr-dataimporthandler-extras-6.5.1 + solr-data-import-scheduler-1.1.2

    solr--6.5.1

    solr-6.5.1,亲测可用------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    solr-dataimporthandler-4.10.3.jar

    solr自动更新包

    solr-dataimporthandler的jar包

    1. `solr-dataimporthandler-6.0.1.jar`:这是 DIH 的主库,包含了处理数据导入过程所需的类和方法。它提供了数据源连接、查询执行、数据转换以及索引创建等功能。在 Solr 的 lib 目录下添加此 JAR 文件后,Solr 将...

Global site tag (gtag.js) - Google Analytics