Solr入门简介

1. Solr简介

前言

学习Solr需要一些和java相关的储备知识,在此之前,假设您已经:

  • 拥有Java开发环境以及相应的IDE
  • 熟悉Spring Boot
  • 熟悉Maven
  • 熟悉Lucene

如果大家是一名java开发工程师,我想大家有需求要学习Solr,应该上边的前3条要求都不是问题,至于为什么要学习Lucene呢? 因为Solr是基于Lucene开发的全文检索服务。也可以简单理解为,solr依赖于Lucene,是Lucene的一种封装。这个在后边也会详细介绍。

1.1 Solr 是什么

  • Solr是Apache旗下基于Lucene开发的全文检索的服务。 用户可以通过http请求,向Solr服务器提交一定格式的数据,比如说XML,JSON数据,来完成索引库的索引。也可以通过Http请求查询索引库获取返回结果,返回结果也可以使XML和JSON格式的。

Solr和Lucene的区别

  • Lucene是一个开发源代码的全文检索引擎工具包,它不是一个完整的全文检索引擎,Lucene提供了完整的查询引擎和索引引擎,目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能, 或者以Lucene为基础构建全文检索引擎。

Solr的目标是打造一款企业级的搜索引擎系统,它是一个搜索引擎服务,可以单独运行,通过Solr可以非常快速的构建企业的搜索引擎,通过Solr也可以高效的完成站内搜索功能。
在这里插入图片描述

1.2 Solr的发展历程

  • 2004年,CNET NetWorks公司的Yonik Seeley工程师为公司网站开发搜索功能是完成呢过了Solr的雏形。起初Solr只是CNET公司的内部项目。
  • 2006年1月,CNET公司决定将Solr源码捐赠给Apache软件基金会。
  • 2008年9月,Solr1.3发布了新功能,其中包括分布式搜素和性能增强等功能。
  • 2009年11月,Solr1.4版本发布,此版本对索引,搜索,Facet等方面进行了优化,提高了对PDF,HTML等富文本文件处理能力,还推出了许多额外的插件;
  • 2010年3月,Lucene和Solr项目合并,自此,Solr成为了Lucene的子项目,产品现在由双方的参与者共同开发。
  • 2011,Solr改变了版本编号方案,以便于Lucene匹配。为了是Solr和Lucene有相同的版本号,Solr1.4下一版的版本变为3.1。
  • 2012年10,Solr4.0版本发布,新功能Solr Cloud也随之发布。
  • 目前Solr最新版本8.8.2

1.3 Solr的功能优势

  • 灵活的查询语法;
  • 支持各种格式文件(Word,PDF)导入索引库;
  • 支持数据库数据导入索引库;
  • 分页查询和排序
  • Facet维度查询
  • 自动完成功能
  • 拼写检查
  • 搜索关键字高亮显示
  • Geo地理位置查询
  • Group分组查询
  • Solr Cloud

1.4 为什么要用solr

  • solr是将整个索引操作功能封装好了的搜索引擎系统(企业级搜索引擎产品)
  • solr可以部署到单独的服务器上(web服务),它可以提供服务,我们的业务系统就只要发送请求,接收响应即可,降低了业务系统的负载。
  • solr部署在专门的服务器上,它的索引库就不会受到业务服务器存储空间的限制。
  • solr支持分布式集群,索引服务的容量和能力可以线性扩展。(solr4开始支持集群)

2.下载和安装

2.1 下载

官网地址:

2.3 Window下安装Solr

window系统是哦我们平时开发和学习使用的一个平台,我们首先先来学习如何在windows系统中安装soolr;

2.3.1 运行环境

Solr需要运行在一个Servlet容器中,Solr7.x要求JDK最少使用1.8以上,Solr默认提供Jetty(java写的Servlet容器),本教程使用Tomcat作为Servlet容器,环境如下:

Solr: Solr7.x

jdk:jdk1.8

tomcat: tomcat8.5

2.3.2 安装步骤

  • 下载solr-7.zip并解压;
    在这里插入图片描述
目录布局
  • bin
    此目录中包含几个重要的脚本,这些脚本将使使用Solr更容易。
    • solr 和 solr.cmd
      这是solr的控制脚本,也称为bin/solr(对于linux)或者bin/solr.cmd(对于Windows)。这个脚本是启动和停止Solr的首选工具。您也可以再运行SolrCloud模式时创建集合或者内核、配置身份验证以及配置文件。
    • post
      Post Tool ,它提供了用于发布内容到Solr的一个简单的命令行界面。
    • solr.in.sh 和 solr.in.cmd
      这些分别是为linux 和 windows 系统提供的属性文件。在这里配置了Java、Jetty和Solr的系统级属性。许多这些设置可以再使用bin/solr或者bin/solr.cmd时被覆盖,但这允许您在一个地方设置所有的属性。
    • install_solr_service.sh
      该脚本用于linix系统以安装Solr作为服务。
  • contrib
    Solr的contrib目录包含Solr专用功能的附件插件。
  • dist
    dist目录包含主要的Solr .jar文件。
  • docs
    docs目录包括一个链接到在线Javadocs的Solr。
  • example
    example目录包括演示各种Solr功能的几种类型的示例。
  • licenses
    该licenses目录包括Solr使用的第三方库的所有许可证。
  • server
  • 此目录是Solr应用程序的核心所在。此目录中的README提供了详细的概述,但以下是一些特点:
    • Solr的Admin UI (server/solr-webapp
    • Jetty库(server/lib
    • 日志文件(server/logs)和日志配置(server/resources).
    • 示例配置(server/solr/configsets
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值