1. Solr简介

1.1 Solr是什么

  Solr是一个基于全文检索的企业级应用服务器。全文检索:可以输入一段文字,通过分词检索数据。应用服务器:它是单独的服务。

1.2 Solr作用

  它就是用于做全文搜索。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

1.3 为什么需要Solr

  问题:我们已经学过Lucene,为什么还要学习solr?

  答:Lucene是一个工具包,不能单独运行,需要导入到java代码中。

  Solr可以独立运行在tomcat容器中,通过http协议,以接口的方式对外提供服务,java代码只需要专注于业务的处理就可以。

   Solr-全文检索服务器 随笔 第1张

 

1.4 Solr下载路径(solr-4.10.3.zip)

  http://archive.apache.org/dist/lucene/solr/

1.5 Solr目录结构说明

  Solr-全文检索服务器 随笔 第2张

  • bin:solr的运行脚本
  • contrib:solr的一些扩展jar包,用于增强solr的功能
  • dist:该目录包含build过程中产生的war和jar文件,以及相关的依赖文件
  • docs:solr的API文档
  • example:solr工程的例子目录
  • licenses:solr相关的一些许可信息

2. Solr示例

2.1 使用Solr实现电商网站的商品搜索功能  

2.2 配置步骤说明

  • 1.配置Solr服务器
  • 2.配置SolrHome(Solr服务的主目录,磁盘)
  • 3.在Solr服务器中加载SolrHome
  • 4.java程序访问Solr服务器,实现全文搜索

2.3 配置步骤

2.4 配置Solr服务器

  Solr可以独立运行,需要servlet容器加载它。本文使用tomcat。

2.4.1 第一步:解压一个Tomcat

  解压一个新的Tomcat(命名为:apache-tomcat-8.0.8-Solr),专门用来加载Solr

  Solr-全文检索服务器 随笔 第3张

2.4.2 第二步:部署Solr服务到Tomcat中

  在Solr的下载包中,提供了Solr的war包程序。(空的war包程序)

  Solr-全文检索服务器 随笔 第4张

  拷贝solr.war到Tomcat的webapp目录下。并解压(运行tomcat)

  Solr-全文检索服务器 随笔 第5张

2.4.3 第三步:添加Solr运行依赖的jar包

  在Solr的下载包中,提供Solr服务器运行所依赖的jar包。

   Solr-全文检索服务器 随笔 第6张

  1.拷贝/example/lib/ext下的所有包,到solr应用的lib目录中

  Solr-全文检索服务器 随笔 第7张

  2.拷贝/example/resource/log4j.properties,到solr应用的classes目录下。

  Solr-全文检索服务器 随笔 第8张

2.5 第二部分:配置SolrHome

  说明:Solr的下载包中,提供了标准的SolrHome配置。

  Solr-全文检索服务器 随笔 第9张

2.5.1 第一步:拷贝到本地,修改名称为SolrHome

  Solr-全文检索服务器 随笔 第10张

2.5.1.1 SolrHome说明

  SolrHome目录结构:

  Solr-全文检索服务器 随笔 第11张

  • SolrHome是Solr配置搜索服务的主目录
  • collection1(这里我命名为jd)称为Solr服务的一个实例(solrCore)
  • 一个solr实例对应一个索引库
  • Solr可以同时配置多个实例,以便为不同的java程序提供搜索服务

  配置solr服务,就是在配置solr实例

2.5.2 第二步:配置SolrCore

2.5.2.1 Step1:配置SolrCore实例的名称

  说明:每一个实例都有自己的名称。在core.properties文件中配置

  Solr-全文检索服务器 随笔 第12张

  将core.properties修改

  Solr-全文检索服务器 随笔 第13张

2.5.2.2 Step2:配置SolrCore所需的jar依赖

  说明:Solr下载包中,提供SolrCore所需要的所有jar依赖

  Solr-全文检索服务器 随笔 第14张

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

  Solr-全文检索服务器 随笔 第15张

  2.拷贝contrib、dist两个目录到depJar目录下

  Solr-全文检索服务器 随笔 第16张

  3.修改/collection1(jd)/conf目录下的solrconfig.xml,加载jar包

  说明:solr是通过<lib>标签,来加载运行所需要的jar包的。

   Solr-全文检索服务器 随笔 第17张

  4.配置索引目录

  说明:solr是通过<dataDir>标签来指定索引库的目录的

  Solr-全文检索服务器 随笔 第18张

  默认路径是在SolrCore目录下,跟conf目录同级。首次加载时,将自动创建。

  Solr-全文检索服务器 随笔 第19张

2.6 第三部分:在Solr服务器中加载SolrHome

2.6.1 第一步:修改web.xml加载SolrHome

  在solr的应用中,是通过web.xml来加载SolrHome的

  Solr-全文检索服务器 随笔 第20张

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

  Solr-全文检索服务器 随笔 第21张

2.6.2 第二步:启动Tomcat测试

  Solr-全文检索服务器 随笔 第22张

  访问地址   http://localhost:8080/solr

  Solr-全文检索服务器 随笔 第23张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄