Solr是什么,怎么使用Solr solrj
suiw9 2024-10-31 16:07 24 浏览 0 评论
Solr
Apache Lucene项目的开源企业搜索平台。其主要功能包括全文检索、命中标示、分面搜索、动态聚类、数据库集成,以及富文本(如Word、PDF)的处理。Solr是高度可扩展的,并提供了分布式搜索和索引复制。Solr是最流行的企业级搜索引擎,Solr4 还增加了NoSQL支持。
官网链接: https://lucene.apache.org/solr
Solr特性
独立的企业级搜索服务,基于http以类-REST API 对外提供服务
- 你可以通过http协议将文档以JSON/XML/CSV/binary格式发送给Solr进行索引。
- 你通过http GET 请求进行查询,可返回JSON/XML/CSV/binary格式的搜索结果。
近实时的索引能力
- 文档数据提交索引后,立马就可看到
先进的全文检索能力
- 基于Lucene的强大搜索能力,支持任意数据类型的短语、通配、连接、分组等等查询
综合的管理界面
- Slor内建了综合的管理用户界面,让你方便的管理你的solr实例。
通过简单的配置方式来提供高灵活性、适用性。
高伸缩和容错能力
- 基于zookeeper,solr支持分布式、备份、再平衡,来提供高伸缩和容错能力
插件体系架构,易扩展
- Solr发布了许多定义良好的扩展点,这使得插件很容易插入索引和查询时的过程中。
Solr原理
Solr对外提供标准的http接口来实现对数据的索引的增加、删除、修改、查询。在Solr中,用户通过向部署在servlet 容器中的 Solr Web 应用程序发送 HTTP 请求来启动索引和搜索。Solr 接受请求,确定要使用的适当SolrRequestHandler,然后处理请求。通过 HTTP 以同样的方式返回响应。默认配置返回Solr 的标准 XML 响应,也可以配置Solr的备用响应格式。
Solr应用架构
应用需要添加搜索能力,只需三步:
- 在solr中定义一个schema(模式),来告诉solr你要索引的文档document由哪些Field构成。
- 将需要让用户搜索的文档发送给solr
- 在你的应用中公开搜索功能。应用的搜索功能通过调用Solr的搜索API实现。
Solr安装
下载地址:https://lucene.apache.org/solr/downloads.html
Solr 7.7.3
Solr 7.7.3 is the last release in the 7.x series.
- Source release: solr-7.7.3-src.tgz [PGP] [SHA512]
- Binary releases: solr-7.7.3.tgz [PGP] [SHA512] / solr-7.7.3.zip [PGP] [SHA512]
windows:点击solr-7.7.3.zip下载,Linux:solr-7.7.3.tgz
安装准备
Solr的安装很简单,只需解压到安装目录。但在安装之前针对你的使用环境:开发、测试、生产,需要进行一个评估,来决定:是在独立的机器上部署单应用服务;还是需要分布式集群。
特别是在生产环境部署时,需认真评估需要的服务规模。考量因素:
- 文档的数量、结构
- 要存储的字段数量
- 用户数量
- 影响硬件规模的因素
Lucene的严格限制:单个索引中的最大文档数: 约2.14 billion documents (约21.4亿,2,147,483,647 )
实际中不可能在单个索引中达到这个文档数量级还运行良好,在到达这个数量之前早就会用分布式索引集群。如果在部署时,就能估计出将达到如此量级,就应该用solrCloud分布式集群方式安装。
解压后的目录:
bin:启动,停止等命令目录,属性配置脚本(系统级的java、jetty、solr的配置属性)
contrib:Solr的插件存放目录
dist:Solr的jar存放目录
example:示例
server:Solr应用的核心目录
- Solr’s Admin UI (server/solr-webapp)
- Jetty libraries (server/lib)
- Log files (server/logs) and log configurations (server/resources).
- Sample configsets (server/solr/configsets)
本地需要安装Jdk1.8环境,进入Solr的安装目录的bin目录下,cmd,输入solr.cmd start命令。Solr启动成功,浏览器输入:http://localhost:8983/solr/
Solr 管理控制台介绍
DashBoard:仪表盘
Logging:日志查看,设置
Core Admin:内核管理菜单
Java Properties:Java属性浏览
Tread Dump:线程转储
No cores avaliable:包含的core列表
Solr core 介绍
内核:是运行在Solr服务器中的具体唯一命名的、可管理和可配置的索引。一台solr服务器可以托管一个或多个内核。
不同的文档拥有不同的模式(字段构成、索引、存储方式),如商品数据和新闻数据就有不同的字段构成以及不同的字段索引、存储方式。就需要分别用两个内核来索引、存储它们。
内核的典型用途:区分不同模式的文档
创建内核
创建有两种方式,1.通过控制台,2.通过命令
1.web管理控制台加载已存在的内核
需要先添加new_core目录和solrconfig.xml,在Solr的安装目录的server/solr目录下,创建文件new_core,将该目录下的configsets/_default目录中的conf拷贝到新建的new_core下。
返回到刚才的页面,点击Add Core
2.命令行命令创建一个新的内核
-c:内核名称
-d:内核创建依据的配置、模式文件目录
-p:在哪个solr服务实例上创建
-d 选项可选值有两个:
_default 默认值,最少配置;
sample_techproducts_cnofigs 示例的配置
分别用它们创建一个内核:
solr.cmd create_core –c mycore
solr.cmd create_core -c techproducts –d sample_techproducts_configs
内核创建完成,导入写样例数据:
Linux/Mac
solr-7.7.3:$ bin/post -c techproducts example/exampledocs/*
Windows
solr-7.7.3> java -jar -Dc=techproducts -Dauto example\exampledocs\post.jar example\exampledocs\*
导入52个文档测试数据
测试查询
qt:请求处理器
fq:过滤查询。限制名称字段中必须含有 game
sort:排序 按价格从高到低
start,rows:分页:起始序号(0开始),行数
fl:需要返回的字段列表
df:默认搜索字段
wt:响应输出类型
dismax:高级功能设置
后续介绍Solr的其他知识。
相关推荐
- 俄罗斯的 HTTPS 也要被废了?(俄罗斯网站关闭)
-
发布该推文的ScottHelme是一名黑客,SecurityHeaders和ReportUri的创始人、Pluralsight作者、BBC常驻黑客。他表示,CAs现在似乎正在停止为俄罗斯域名颁发...
- 如何强制所有流量使用 HTTPS一网上用户
-
如何强制所有流量使用HTTPS一网上用户使用.htaccess强制流量到https的最常见方法可能是使用.htaccess重定向请求。.htaccess是一个简单的文本文件,简称为“.h...
- https和http的区别(https和http有何区别)
-
“HTTPS和HTTP都是数据传输的应用层协议,区别在于HTTPS比HTTP安全”。区别在哪里,我们接着往下看:...
- 快码住!带你十分钟搞懂HTTP与HTTPS协议及请求的区别
-
什么是协议?网络协议是计算机之间为了实现网络通信从而达成的一种“约定”或“规则”,正是因为这个“规则”的存在,不同厂商的生产设备、及不同操作系统组成的计算机之间,才可以实现通信。简单来说,计算机与网络...
- 简述HTTPS工作原理(简述https原理,以及与http的区别)
-
https是在http协议的基础上加了一层SSL(由网景公司开发),加密由ssl实现,它的目的是为用户提供对网站服务器的身份认证(需要CA),以至于保护交换数据的隐私和完整性,原理如图示。1、客户端发...
- 21、HTTPS 有几次握手和挥手?HTTPS 的原理什么是(高薪 常问)
-
HTTPS是3次握手和4次挥手,和HTTP是一样的。HTTPS的原理...
- 一次安全可靠的通信——HTTPS原理
-
为什么HTTPS协议就比HTTP安全呢?一次安全可靠的通信应该包含什么东西呢,这篇文章我会尝试讲清楚这些细节。Alice与Bob的通信...
- 为什么有的网站没有使用https(为什么有的网站点不开)
-
有的网站没有使用HTTPS的原因可能涉及多个方面,以下是.com、.top域名的一些见解:服务器性能限制:HTTPS使用公钥加密和私钥解密技术,这要求服务器具备足够的计算能力来处理加解密操作。如果服务...
- HTTPS是什么?加密原理和证书。SSL/TLS握手过程
-
秘钥的产生过程非对称加密...
- 图解HTTPS「转」(图解http 完整版 彩色版 pdf)
-
我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。...
- HTTP 和 HTTPS 有何不同?一文带你全面了解
-
随着互联网时代的高速发展,Web服务器和客户端之间的安全通信需求也越来越高。HTTP和HTTPS是两种广泛使用的Web通信协议。本文将介绍HTTP和HTTPS的区别,并探讨为什么HTTPS已成为We...
- HTTP与HTTPS的区别,详细介绍(http与https有什么区别)
-
HTTP与HTTPS介绍超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的...
- 一文让你轻松掌握 HTTPS(https详解)
-
一文让你轻松掌握HTTPS原文作者:UC国际研发泽原写在最前:欢迎你来到“UC国际技术”公众号,我们将为大家提供与客户端、服务端、算法、测试、数据、前端等相关的高质量技术文章,不限于原创与翻译。...
- 如何在Spring Boot应用程序上启用HTTPS?
-
HTTPS是HTTP的安全版本,旨在提供传输层安全性(TLS)[安全套接字层(SSL)的后继产品],这是地址栏中的挂锁图标,用于在Web服务器和浏览器之间建立加密连接。HTTPS加密每个数据包以安全方...
- 一文彻底搞明白Http以及Https(http0)
-
早期以信息发布为主的Web1.0时代,HTTP已可以满足绝大部分需要。证书费用、服务器的计算资源都比较昂贵,作为HTTP安全扩展的HTTPS,通常只应用在登录、交易等少数环境中。但随着越来越多的重要...
你 发表评论:
欢迎- 一周热门
-
-
Linux:Ubuntu22.04上安装python3.11,简单易上手
-
宝马阿布达比分公司推出独特M4升级套件,整套升级约在20万
-
MATLAB中图片保存的五种方法(一)(matlab中保存图片命令)
-
别再傻傻搞不清楚Workstation Player和Workstation Pro的区别了
-
Linux上使用tinyproxy快速搭建HTTP/HTTPS代理器
-
如何提取、修改、强刷A卡bios a卡刷bios工具
-
Element Plus 的 Dialog 组件实现点击遮罩层不关闭对话框
-
日本组合“岚”将于2020年12月31日停止团体活动
-
SpringCloud OpenFeign 使用 okhttp 发送 HTTP 请求与 HTTP/2 探索
-
tinymce 号称富文本编辑器世界第一,大家同意么?
-
- 最近发表
- 标签列表
-
- dialog.js (57)
- importnew (44)
- windows93网页版 (44)
- yii2框架的优缺点 (45)
- tinyeditor (45)
- qt5.5 (60)
- windowsserver2016镜像下载 (52)
- okhttputils (51)
- android-gif-drawable (53)
- 时间轴插件 (56)
- docker systemd (65)
- slider.js (47)
- android webview缓存 (46)
- pagination.js (59)
- loadjs (62)
- openssl1.0.2 (48)
- velocity模板引擎 (48)
- pcre library (47)
- zabbix微信报警脚本 (63)
- jnetpcap (49)
- pdfrenderer (43)
- fastutil (48)
- uinavigationcontroller (53)
- bitbucket.org (44)
- python websocket-client (47)