当前位置:首页 > 服务端 > Solr介绍

Solr介绍

2022年09月17日 10:58:27服务端4

什么是Solr

Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。
Solr可以独立运行,运行在Jetty、Tomcat等这些Servlet容器中。
Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述 Field 及其内容的 XML 文档,Solr根据xml文档添加、删除、更新索引 。Solr 搜索只需要发送 HTTP GET 请求,然后对 Solr 返回Xml、json等格式的查询结果进行解析,组织页面布局。Solr不提供构建UI的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。
Solr的特性包括
高级的全文搜索功能
专为高通量的网络流量进行的优化
基于开放接口(XML和HTTP)的标准
综合的HTML管理界面
可伸缩性-能够有效地复制到另外一个Solr搜索服务器
使用XML配置达到灵活性和适配性
可扩展的插件体系

什么是Lucene

Lucene是Apache下的一个开源项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。目前已经有很多应用程序的搜索功能是基于 Lucene ,比如Eclipse 帮助系统的搜索功能。Lucene能够为文本类型的数据建立索引,所以你只要把你要索引的数据格式转化的文本格式,Lucene 就能对你的文档进行索引和搜索。

Solr和Lucene的关系

Lucene更像是一个SDK。 有完整的API族以及对应的实现。你可以利用这些在自己的应用里实现高级查询(基于倒排索引技术的),Lucene对单机或者桌面应用很实用很方便。但是Lucene,需要开发者自己维护索引文件,在多机环境中备份同步索引文件很是麻烦。于是,就有了Solr。
而Solr是一个有HTTP接口的基于Lucene的查询服务器,封装了很多Lucene细节,自己的应用可以直接利用诸如 .../solr?q=abc 这样的HTTP GET/POST请求去查询,维护修改索引。
给个比方就是,Lucene是给你一堆包,让你自己从底层构建一个数据库。而Solr是一个实现好的数据库程序,安装后就可以直接用了。

Solr原理

原理图
Solr介绍 _ JavaClub全栈架构师技术笔记
Solr服务原理
Solr对外提供标准的http接口来实现对数据的索引的增加、删除、修改、查询。
在Solr中,用户通过向部署在servlet 容器中的Solr Web应用程序发送 HTTP 请求来启动索引和搜索。
Solr接受请求,确定要使用的适当SolrRequestHandler,然后处理请求。通过 HTTP 以同样的方式返回响应。
默认配置返回Solr的标准 XML 响应,也可以配置Solr的备用响应格式。
索引原理
可以向Solr索引servlet传递四个不同的索引请求:
  1) add/update允许向Solr添加文档或更新文档。直到提交后才能搜索到这些添加和更新。
  2) commit 告诉Solr,应该使上次提交以来所做的所有更改都可以搜索到。
  3) optimize 重构 Lucene 的文件以改进搜索性能。索引完成后执行一下优化通常比较好。如果更新比较频繁,则应该在使用率较低的时候安排优化。一个索引无需优化也可以正常地运行。优化是一个耗时较多的过程。
  4) delete 可以通过 id 或查询来指定。按 id 删除将删除具有指定 id 的文档;按查询删除将删除查询返回的所有文档。
搜索原理
要实现搜索则只需要调用搜索接口select发送HTTP GET。示例:
http://192.168.10.85:18080/solr/select?indent=on&version=2.2&q=solr&start=0&rows=10&fl=*%2Cscore&qt=standard&wt=standard
注:多核心时为这个地址http://192.168.10.85:18080/solr/core0/select/

下载

从Solr官方网站(http://lucene.apache.org/solr/ )下载,最新版本为Solr6.5.1
Solr介绍 _ JavaClub全栈架构师技术笔记
bin:solr的运行脚本
contrib:solr的一些贡献软件/插件,用于增强solr的功能。
dist:该目录包含build过程中产生的war和jar文件,以及相关的依赖文件。
docs:solr的API文档
example:solr工程的例子目录:
 example/solr:
该目录是一个包含了默认配置信息的Solr的Core目录。
 example/multicore:
该目录包含了在Solr的multicore中设置的多个Core目录。
 example/webapps:
该目录中包括一个solr.war,该war可作为solr的运行实例工程。
licenses:solr相关的一些许可信息

作者:喝完牛奶好睡觉
来源链接:https://blog.csdn.net/yijunwanghaha/article/details/71374613

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/42482.html

标签: Solr
分享给朋友:

“Solr介绍” 的相关文章

[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一.

[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一.

在这里一下讲解着三个的安装和配置, 是因为solr需要使用tomcat和IK分词器, 这里会通过图文教程的形式来详解它们的安装和使用.注: 本文属于原创文章, 如若转载,请注明出处, 谢谢.关于设置IK分词器的文章 IK分词器: Linux下IK分词器的安装及配置1...

SpringBoot+solr配置入门

SpringBoot+solr配置入门

1.首先solr已经配置完毕,并且含有数据 2.开始搭建工程 3.编写配置文件 同样找到resources下的application.propertis文件 集群和单机版配置有差别 3.1单机版 需要指定solr服务器的ip端口实例名...

指尖上的电商---(3)Solr全文搜索引擎的配置

指尖上的电商---(3)Solr全文搜索引擎的配置

                   接上篇,Solr的准备工作完毕后,本节主要介绍Solr的安...

solr控制台详解

solr控制台详解

solr 服务器管理界面可以查看系统状态、solr设置、分词检测、查询索引、增减core、查看日志等 1.Dashboard(仪表盘) 访问http://localhost:8080/solr时,出现该主页面,可查看到s...

Apache Solr 安装及启动

Apache Solr 安装及启动

1.下载地址  https://lucene.apache.org/solr/ 下载解压后目录如下 bin:启动和停止服务器的脚本。example: 示例。server/logs 文件夹,所有Solr日志都写入该文件夹。server/solr文...

Solr的安装与配置

Solr的安装与配置

1.Solr安装与配置 1.1什么是Solr 大多数搜索引擎应用都必须具有某种搜索功能,问题是搜索功能往往是巨大的资源消耗并且它们由于沉重的数据库加载而拖垮你的应用的性能。 这就是为什么转移负载到一个外部的搜索服务器是一个不错的主意,Apache Solr是一个...

Solr 的安装方式

1.下载solr项目包 或者上传压缩包到服务器 直接去官网下载 https://lucene.apache.org/solr/downloads.html 或者 wget https://mirror.bit.edu.cn/apache/lucene/s...

solr6.3安装部署

部署solr6.3到tomcat 环境 jdk1.8 tomcat9 解压Solr6.3.0到%solr%文件夹 解压得到的文件夹下做如下操作: 将%solr%/server/solr-webap...

Windows平台安装Solr并注册为服务

Windows平台安装Solr并注册为服务

Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。项目或者产品中我们经常会使用Solr提供全文检索功能。本文主要介绍如果在windows环境中安装solr以及注册为windows服务。 获取Solr安装包 从官方下载solr安装文件,s...

Solr使用初探——Solr的安装环境与配置

Solr是一个apache名下很好用的开源索引、搜索工具,网上的资料虽多但很杂,笔者花了一天的时间对Solr进行了较为初步的研究,对Solr的基础应用做了一定的总结。文中涉及到的配置方法并不唯一,API的用法也未必规范,仅希望能够通过此文让大家对solr更快的入手。...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。