一、Solr简介
1.1 Solr是什么
Solr是一个基于全文检索的企业级应用服务器。
全文检索:可以输入一段文字,通过分词检索数据!!
应用服务器:它是单独的服务。
1.2 为什么有了lucene还需要solr
Lucene是一个工具包,不能单独运行,需要导入到java代码中。
Solr可以独立运行在tomcat容器中,通过http协议,以接口的方式对外提供服务,java代码只需要专注于业务的处理就可以。

1.3 Solr下载路径
http://archive.apache.org/dist/lucene/solr/
solr是基于lucene实现的,和Lucene同步更新。
1.4 Solr目录结构说明
下载solr-4.10.3.zip并解压:

bin:solr的运行脚本
contrib:solr的一些扩展jar包,用于增强solr的功能。
dist:该目录包含build过程中产生的war和jar文件,以及相关的依赖文件。
docs:solr的API文档
example:solr工程的例子目录:
licenses:solr相关的一些许可信息
二、入门示例
2.1 需求
使用Solr实现电商网站的商品搜索功能。
2.2 配置步骤说明
(1)配置Solr服务器到tomcat中。(准备好tomcat解压包)
(2)配置SolrHome。(Solr服务的主目录,磁盘)
(3)在Solr服务器中加载SolrHome。
(4)java程序访问Solr服务器,实现全文搜索。
2.3 配置步骤
2.4 第一部分:配置Solr服务器
--说明:Solr可以独立运行,需要servlet容器加载它。本文使用tomcat。
2.4.1 第一步:解压一个Tomcat
解压一个新的Tomcat,专门用来加载Solr。

2.4.2 第二步:部署Solr服务到Tomcat中
--在Solr的下载包中,提供了Solr的war包程序。(空的war包程序)

--拷贝solr.war到Tomcat的webapp目录下。并解压

2.4.3 第三步:添加Solr运行依赖的jar包
--在Solr的下载包中,提供Solr服务器运行所依赖的jar包。

(1)拷贝/example/lib/ext下的所有包,到solr应用的lib目录中
(2)拷贝/example/resource/log4j.properties,到solr应用的classes目录下。
--前提:先在/WEB-INF/目录下,创建classes目录。
2.5 第二部分:配置SolrHome
--说明:Solr的下载包中,提供了标准的SolrHome配置。

2.5.1 第一步:拷贝到本地,修改名称为SolrHome。(见名知意)

2.5.1.1 SolrHome说明
--SolrHome目录结构:

(1)SolrHome是Solr配置搜索服务的主目录。
(2)collection1称为Solr服务的一个实例(solrCore)。
(3)一个solr实例对应一个索引库。
(4)Solr可以同时配置多个实例。以便为不同的java程序提供搜索服务。
配置solr服务,就是在配置solr实例。
2.5.2 第二步:配置SolrCore
2.5.2.1 Step1:配置SolrCore实例的名称
--说明:每一个实例都有自己的名称。在core.properties文件中配置

2.5.2.2 Step2:配置SolrCore所需的jar依赖
--说明:Solr下载包中,提供SolrCore所需要的所有jar依赖。

(1)在SolrHome同级目录下,创建depJar文件夹。(目的:方便管理jar依赖)

(2)拷贝contrib、dist两个目录到depJar目录下。
(3)修改/collection1/conf目录下的solrconfig.xml,加载jar包
--说明:solr是通过<lib>标签,来加载运行所需要的jar包的。

(4)配置索引库目录
--说明:solr是通过<dataDir>标签,来指定索引库的目录的。(我们使用默认路径)

--默认路径是在SolrHome目录下,跟conf目录同级。首次加载时,将自动创建
2.6 第三部分:在Solr服务器中加载SolrHome
2.6.1 第一步:修改web.xml加载SolrHome
--在solr的应用中,是通过web.xml来加载SolrHome的。

--说明:在这里是通过修改<env-entry>标签,来加载SolrHome的。

2.6.2 第二步:启动Tomcat测试
--访问地址 http://localhost:8080/solr

--solr服务器配置成功!!!
2.6.3 solr admin 界面介绍


本文详细介绍了如何配置Solr服务器以支持多个entity,包括Solr的基本概念、下载路径、目录结构说明,以及从解压Tomcat、部署Solr服务、添加依赖到配置SolrHome和加载SolrHome的每个步骤。重点在于如何配置多个SolrCore实例,以满足不同java程序的搜索需求。

210

被折叠的 条评论
为什么被折叠?



