Solr学习笔记(一)

最近准备为一个产品做一个站内的搜索引擎,是一个java产品。由于原来做过Lucene.net,所以自然而然的就想到了使用Lucene。在复习Lucene的过程中发现了Solr这个和Lucene绑定在一起的Apache的子项目,发现这个搜索服务器正是我们想要的。原来我们做Lucene,会把索引和搜索都放在同一个网站下,也就是在网站启动的时候,或定时在网站应用程序中进行Lucene的初始化和索引,并使用Lucene搜索API提供搜索服务。这个过程,应用网站既提供了搜索内容的提供者(从数据库或文件提取数据给Lucene索引),也是搜索内容的索引者,又是用户搜索服务的结果提供者。这很明显是不够理想的,特别是在分布式集群部署环境下。Solr的出现,正好帮助我们解决了这个问题。单一的搜索服务被独立出来,提供数据的索引和搜索,并且这个搜索服务可以方便的为多个应用进行服务。余下的就是把搜索内容提供者也分离出来,形成一个或多个独立的服务。这样服务于服务之间的耦合就降低了,业务和功能的变化,都可以在某一个角色服务中处理,而不需要影响其他的服务。最重要的,Solr可以提供基于Http和XML的Web API,使它可以跨平台和语言进行服务。集群和分布式部署也变的更容易、风险更低,并且会更有针对性。新的搜索架构就会变成下图这样:

solr的安装

首先我们先来安装solr。安装solr比较简单。我的安装是在windows环境下进行,tomcat7 + solr 10.1。

1. 在网上下载solr的安装包,解压缩文件。

2. 找到solr.war文件,把文件复制到tomcat的webapps文件夹下,在这之前如果你的tomcat是运行着的,则先要停止运行。

3. 然后把下载包中的solr-4.x.0/example/solr 文件夹复制到你希望存储的本地文件夹D:\solr下,这个文件夹会作为solr索引文件的存放目录:$SOLR_HOME。

4. 运行tomcat。把下载的文件example\lib\ext目录下的所有jar包复制到tomcat的webapps目录下的solr\WEB-INF\lib文件夹下。

5. 配置$SOLR_HOME。还是在tomcat的webapps\solr\WEB-INF目录下,找到web.xml文件,放开<env-entry>节点,配置上$SOLR_HOME,如下:

    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>d:\solr</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

完成上述步骤以后,重新启动tomcat,访问http://localhost:8080/solr/确认是否配置正常。

添加Document

solr安装好以后,我们需要测试solr是否可以正确运行。solr的搜索是基于文档的,没有文档,solr什么也搜索不到。所以我们现在就要尝试着添加文档。在solr的下载包里面有一些用于测试的文档,在example\exampledocs文件夹下。另外在这个文件夹下还有一个基于java命令行的测试工具post.jar,我们将使用这些文档和工具来作为测试。

使用命令 java -Durl=http://localhost:8080/solr/update -jar post.jar *.xml 把文件夹下所有的xml文件上传到solr上去,并索引。这样添加Document的工作就算完成。

查找Document

经过上一步的添加,14个document已经被索引到solr服务器中,我们就可以进行查询了。在浏览器中输入http://localhost:8080/solr/select?q=video,服务器将会返回一个xml文档,<result>标签下有多个<doc>标签,每一个<doc>就是被搜索到的和查询参数有关的document。如下图:

至此,solr已经安装成功,下一篇将介绍solr的相关基本概念。

时间: 2024-10-22 08:58:16

Solr学习笔记(一)的相关文章

solr学习笔记section1-在tomcat中部署单(节点)机solr5.5.4

solr自带jetty内嵌容器,但在实际开发工作中,大家喜欢使用tomcat容器,因此这篇笔记主要讲解如何在tomcat中配置和启动solr 注意,由于采用的solr版本是5,容器的servlet版本需要是3.0以上,所以tomcat的选择需要是8.0及以上版本. 在系统中任意位置建立一个solr-home文件夹,用于以后存放solr所有相关的配置及数据,如图,我建立在/home/下 利用wget在该目录下下载好solr安装包和tomcat安装包,并解压到当前文件夹 wget http://ap

Solr学习笔记 在Tomcat上部署运行Solr

上一篇我们初识了Solr并且学习了Jetty的启动方式,查看了Solr的管理界面,这一篇我们来实现在Tomcat上部署运行Solr. 部署环境: window7 jdk1.6.0_14 Solr-4.7.2 tomcat-6.0.37 Solr的安装配置Solr home ,主要介绍基于JNDI的配置,其它方式可以参考Solr的wiki. 基于JNDI配置 1:首先建立一个Solr的运行目录. C:\solr-tomcat 将解压缩包中的D:\work\work-tools\solr\solr-

Lucene/Solr学习笔记(一)

solr简介 Solr是一个开源的,企业级搜索服务器.Solr可以理解为Lucene的服务器化产品.它使用java编写,遵循http协议和xml协议,使用多种数据格式(如json,xml)传递数据. 但她不是对Lucene的一次简单封装,Solr的大多数特征都与Lucene不同.Solr 和 Lucene 的界限经常是模糊的.以下是Solr的主要特性: 通过HTTP请求来     建立索引和搜索索引 拥有数个缓存 来 加快搜索速度 一个基于web的管理员控制台 运行时做性能统计,包括缓存 命中/

Solr学习笔记——导入JSON数据

1.导入JSON数据的方式有两种,一种是在web管理界面中导入,另一种是使用curl命令来导入 curl http://localhost:8983/solr/baikeperson/update/json?commit=true --data-binary @/home/XXX/下载/person/test1.json -H 'Content-type:text/json; charset=utf-8' 2.导入的时候注意格式 使用curl可以导入的格式 { "add": { &qu

solr学习笔记--dataimport

在solr4.10已经安装完成的情况下,多核的模式下: 1.需要准备的jar包:数据库驱动jar包  mysql-connector-java-5.1.17-bin.jar,solr-dataimporthandler-4.10.0.jar: solrconfig.xml 中引入 <lib dir="F:/SolrHome/multicore/lib" regex=".*\.jar" /> 2.在配置文件F:\SolrHome\multicore\cor

Solr学习笔记-认识solr及安装配置

Solr(http://lucene.apache.org/solr),Apache Lucene项目的子项目,是一个基于Lucene的Java搜索引擎服务器. Solr 包装并扩展了 Lucene,所以Solr的基本上沿用了Lucene的相关术语,更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容,通过对Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引. Solr支持从关系数据库和XML文档中提取原始数据

Solr学习笔记 - 目录结构

家目录 Solr在运行时需要访问它的家目录,因为配置文件和它储存的索引都在它的家目录中保存.(家目录指的是运行时的目录,standalone和solrcloud的家目录不一定相同,在solr运行后可以用solr status 来查看家目录路径) Solr的standalone运行模式和solrcloud运行模式有不同的根目录结构. (未完待续)

Solr学习笔记——查询

1.进入Solr管理界面http://localhost:8983/solr/ 可以看到Query中有若干的参数,其意义如下(参考:http://www.jianshu.com/p/3c4cae5dee8d) Solr的查询语法: Solr默认有三种查询解析器(Query Parser): Standard Query Parser DisMax Query Parser Extended DisMax Query Parser (eDisMax) 第一种是标准的Parser,最后一种是最强大的

solr学习笔记一------solr的安装

自己整理了一天,终于将solr配置成功,我使用的是Tomcat7+solr4.7.2. 第一步,配置好tomcat,保证tomcat可以正常运行,将下载好的solr解压. solr解压目录: 第二步,将dist中的 solr-4.7.2.war 文件复制到tomcat安装目录中的webapps下. 第三步,在E盘新建文件夹solr,将solr解压目录下的\example\solr的所有文件复制到新建的solr文件夹中. 第四步,在tomcat安装目录中的\conf\Catalina\localh