02、全文检索 ------ Solr(企业级的开源的搜索引擎) 的下载、安装、Solr的Web图形界面介绍

news2024/9/21 14:49:23

目录

  • Solr 的下载和安装
    • Solr的优势:
      • Lucene与Solr
    • 安装 Solr
      • 1、下载解压
      • 2、添加环境变量
      • 3、启动 Solr
    • Solr 所支持的子命令:
    • Solr 的 Core 和 Collection 介绍
    • Solr 的Web控制台
      • DashBoard(仪表盘)
      • Logging(日志)
      • Core Admin(Core管理)
      • Java Properties(Java属性)
      • Thread Dump(线程转储)

Solr 的下载和安装


Solr的优势:

Solr以独立应用的方式运行,就像一个 NoSQL 存储引擎一样,它既可用于管理 Lucene 索引库,也可用于作为同样的 NoSQL 存储库。


与Lucene相比,Solr提供了如下优势:

1、Solr是独立应用,而不是简单的框架。Lucene只是一个Java框架,如果开发者不懂Java,那它就没法调用Lucene的API来编写全文检索功能。

2、Solr提供了RESTful服务接口,开发者能以多种文档格式(XML、JSON或CSV)作为输入数据,Solr也能提供对应格式的响应。这种RESTful接口完全是编程语言无关的。

3、Solr是企业级的存储引擎,既支持独立部署,也支持作为大数据存储的分布式 NoSQL 数据库,还能以云端方式部署。

4、作为独立应用,Solr提供了用户友好的管理界面。

5、全文搜索方面:Solr提供了全文搜索所需的所有功能,例如令牌,短语,拼写检查,通配符和自动完成。

6、管理界面方面: Solr 提供了一个易于使用,用户友好,功能强大的用户界面,使用它可以执行所有可能的任务,如管理日志,添加,删除,更新和搜索文档。



Lucene与Solr

如果说Lucene是一个优秀的搜索引擎框架,那Solr就是基于Lucene的搜索引擎产品,
既降低了Lucene的使用门槛: 不管是否会编程,都可使用Solr;
也扩大了Lucene的使用范围: 不管是否使用Java,都能使用Solr;
还提高了Lucene的稳定性和可扩展性: 即使对最初级的菜鸟,Solr同样提供产品级稳定性及云端、分布式支持。



安装 Solr


1、登录Solr官网下载中心下载Solr压缩包,并解压该压缩包。得到如下文件结构:

- bin:该目录下存放了Solr的工具命令。
- contrib:该目录下存放了Solr所依赖的第三方JAR包
- dist:该目录下存放了Solr本身的JAR包。
- example:该目录下存放了Solr的各种示例。其中exampledocs和films子目录下存放了Solr索引库的示例文档。
           初学者可通过导入这些文档初始化索引库。
- server:该目录是Solr的核心,整个Solr应用程序、索引库都默认都保存在该目录下。

2、为Solr配置两个环境变量: JAVA_HOME和PATH,将Solr的bin目录所在的路径添加到PATH环境变量中,方便操作系统能找到Solr的bin目录下的命令。

3、执行如下命令即可启动Solr

 solr start -p <端口>

如果不指定端口,Solr 默认的端口是8983



演示:

1、下载解压

Solr 官网下载页面

我下载这个版本的 Solr ,后缀是 zip,然后解压就可以了

在这里插入图片描述


一些解释:

bin:该目录下存放了 Solr 的工具命令。

在这里插入图片描述

contrib:该目录下存放了Solr所依赖的第三方JAR包

在这里插入图片描述


2、添加环境变量


为Solr配置两个环境变量: JAVA_HOME 和 PATH,将 Solr 的 bin 目录所在的路径添加到 PATH 环境变量中,方便操作系统能找到 Solr 的 bin 目录下的命令


PATH:就是 Solr 的bin路径

在这里插入图片描述

JAVA_HOME:就是jdk的环境变量

在这里插入图片描述



3、启动 Solr


执行如下命令即可启动Solr:

 solr start -p <端口>

如果不指定端口,Solr 默认的端口是8983

直接输入 solr start 启动就可以了;

显示:在8983端口上启动Solr服务器,等待长达30分钟。寻找快乐!

在这里插入图片描述



Solr 所支持的子命令:

如果solr命令不指定-p选项,那么Solr将默认监听8983端口。

此外,solr命令还支持如下常用子命令

stop:停止Solr服务器。

restart:重启Solr服务器。

healthcheck:执行状态检查。

create_core:用于为Solr服务器创建Core。

create_collection:用于为Solr服务器创建Collection。

create:根据Solr的运行状态选择创建Core或Collection;
        如果Solr以单机方式运行,该命令创建core;
        若Solr以云模式运行,该命令创建Collection。

delete:删除Core或Collection。

version:显示Solr的版本。

在这里插入图片描述


在这里插入图片描述



Solr 的 Core 和 Collection 介绍


Core 和 Collection 都表现成逻辑的“索引库”,有点类似于RDBMS的表(就是都类似关系型数据库中的表,比如mysql的表)

逻辑索引库,也就是上面讲的反向索引库。

**从形象上来讲,可以把 Core 和 Collection 都理解成一张表。类似 MongoDB 的表 **

RDBMS:全拼是 Relational Database Management System ,字面上就是: 关系数据库管理系统

例如:MySQL、Oracle、SQL Server 这些关系型数据库,都是基于"关系模型的数据库系统(RDBMS)”,简称关系型数据库,
      R是Relational的缩写。关系型数据库,就是把数据放入表格中,这些表格可以相互关联

在单机模式下,一个Core 等于一个 Collection。Solr的Core有点类似于RDBMS的表,

Solr Core同样具有支持唯一标识的主键,也需要定义多个Field。

与RDBMS不同的是,Core中存放的是各种文档,且这些文档不需要具有相同的 Field(其实和 MongoDB 的表里面存的是文档一样)

在单机模式下,一个Core就是一个逻辑索引库。

添加文档时为文档所指定的 Field 应该是 Core 所包含的 Field 的子集。


在SolrCloud模式下(云模式),一个 Collection 由分布在不同节点上的多个Core组成,但这个Collection仍然作为一个逻辑索引库,只是这个Colletion由不同的Core包含不同的Shards(分片)组成。


简而言之:

单机模式下,一个 Core 就等于一个逻辑索引库。

云模式下,一个 Collection 由多个 Core 所组成,且对外表现仍然为一个逻辑索引库。



Solr 的Web控制台


通过 “solr start -p <端口>”命令启动Solr之后,启动浏览器,访问http://localhost:8983/(假设没通过-p选项改变Solr的默认端口)将看到Web管理界面。

在Web管理界面可以看到如下5个标签:

DashBoard(仪表盘):显示Solr运行状态一览。

Logging(日志):显示Solr运行日志。

Core Admin(Core管理):提供了图形界面来管理Core。

备注:  Core:在单机模式下,core 代表了逻辑索引库,类似于RDBMS的表。
        在云模式下,就是 Collection  来代表逻辑索引库

Java Properties(Java属性):显示当前运行的JVM属性一览。

Thread Dump(线程转储):显示Solr内部的线程转储。

在该图形管理界面上,用得最多的可能还是“Core Admin”。



DashBoard(仪表盘)


DashBoard(仪表盘):显示Solr运行状态一览

在这里插入图片描述


Logging(日志)


Logging(日志):显示Solr运行日志。

在这里插入图片描述

在这里插入图片描述


Core Admin(Core管理)


Core Admin(Core管理):提供了图形界面来管理Core。(用的最多)

我现在是在单机模式下运行这个 Solr ,所以这里显示的是 Core, core 代表了逻辑索引库
如果是在云模式下运行这个 Solr ,那么这里就会显示 Collection ,由 Collection 来代表逻辑索引库

在图形管理界面上,用得最多的可能还是“Core Admin”。

在这里插入图片描述

Java Properties(Java属性)


Java Properties(Java属性):显示当前运行的JVM属性一览。

显示各种 Java 属性

在这里插入图片描述


Thread Dump(线程转储)


Thread Dump(线程转储):显示Solr内部的线程转储。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1424202.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

理想架构的高回退Doherty功率放大器理论与ADS仿真-Multistage

理想架构的高回退Doherty功率放大器理论与仿真-Multistage 参考&#xff1a; 三路Doherty设计 01 射频基础知识–基础概念 Switchmode RF and Microwave Power Amplifiers、 理想架构的Doherty功率放大器&#xff08;等分经典款&#xff09;的理论与ADS电流源仿真参考&#x…

《云原生安全攻防》-- 云原生安全概述

从本节课程开始&#xff0c;我们将正式踏上云原生安全的学习之旅。在深入探讨云原生安全的相关概念之前&#xff0c;让我们先对云原生有一个全面的认识。 什么是云原生呢? 云原生&#xff08;Cloud Native&#xff09;是一个组合词&#xff0c;我们把它拆分为云和原生两个词来…

TS项目实战一:流淌的字符动画界面

使用ts实现虚拟世界&#xff0c;创建ts项目&#xff0c;并编写ts代码&#xff0c;使用tsc编译后直接加载到html界面&#xff0c;实现类似黑客帝国中的流淌的代码界面的效果。 源码下载地址&#xff1a;点击下载 讲解视频 TS实战项目一&#xff1a;数字流界面项目创建 TS实战项…

LRU缓存(Leetcode146)

例题&#xff1a; 分析&#xff1a; 题目要求函数get和put要达到O(1)的时间复杂度&#xff0c;可以用 hashMap 来实现&#xff0c;因为要满足逐出最久未使用的元素的一个效果&#xff0c;还需要配合一个双向链表来共同实现。链表中的节点为一组key-value。 我们可以用双向链表来…

前端工程化之:webpack1-9(plugin)

一、plugin loader 的功能定位是转换代码&#xff0c;而一些其他的操作难以使用 loader 完成&#xff0c;比如&#xff1a; 当 webpack 生成文件时&#xff0c;顺便多生成一个说明描述文件&#xff1b;当 webpack 编译启动时&#xff0c;控制台输出一句话表示 webpack 启动了&…

Gas Hero Common Heroes NFT 概览与数据分析

作者&#xff1a;stellafootprint.network 编译&#xff1a;mingfootprint.network 数据源&#xff1a;Gas Hero Common Heroes NFT Collection Dashboard Gas Hero “盖世英雄” 是一个交互式的 Web3 策略游戏&#xff0c;强调社交互动&#xff0c;并与 FSL 生态系统集成…

THREE.JS动态场景开发实战【赛博朋克】

在本教程中&#xff0c;我们将探索如何创建类似 Three.js 的赛博朋克场景&#xff0c;灵感来自 Pipe 网站上的背景动画。 我们将指导你完成使用 Three.js 编码动态场景的过程&#xff0c;包括后处理效果和动态光照&#xff0c;所有这些都不需要任何着色器专业知识。 我用这个场…

自动保存知乎上点赞的内容至本地

背景&#xff1a;知乎上常有非常精彩的回答/文章&#xff0c;必须要点赞收藏&#xff0c;日后回想起该回答/文章时翻看自己的动态和收藏夹却怎么也找不到&#xff0c;即使之前保存了链接网络不好也打不开了&#xff08;。所以我一般碰到好的回答/文章都会想办法保存它的离线版本…

文件上传的另类应用

1.Imagemagick CVE-2016-3714 CVE-2022-44268 CVE-2020-29599可在vulhub靶场进行复现1.1.Imagemagick简介 ImageMagic是一款图片处理工具&#xff0c;当传入一个恶意图片时&#xff0c;就有可能存在命令注入漏洞。 ImageMagick默认支持一种图片格式mvg&#xff0c;而mvg与svg…

USTC ICS(2023Fall) Lab2 The PingPong Sequence

LC-3汇编语言 .ORIG x3000LDI R0,n ;f(n)NOT R0,R0ADD R0,R0,#1 ;取R0补码用于减法AND R1,R1,#0 ;R1记录循环次数,先初始化为0ADD R2,R1,#0 ;R2记录符号&#xff0c;加号为0,减号为-1,f(1)对应加号ADD R3,R1,#3 ;记录f(n),f(1)3AND R5,R5,#0 ;R5存0000 1111 1111 1111…

ubuntu20配置mysql8

首先更新软件包索引运行 sudo apt update命令。然后运行 sudo apt install mysql-server安装MySQL服务器。 安装完成后&#xff0c;MySQL服务将作为systemd服务自动启动。你可以运行 sudo systemctl status mysql命令验证MySQL服务器是否正在运行。 连接MySQL 当MySQL安装…

华为mate60 pro与小米14 pro 的巅峰对决

今天我们换下思路&#xff0c;不讲技术了&#xff01;我们一起讲讲手机&#xff01;小编暂时充当一下业余的数码咖。 今天我们就讲讲华为mate60 pro和小米14pro 这两款手机。这两款手机都是近期新出的发行版本&#xff0c;热度那是一直未减啊。 华为mate60 Pro 我们先说说这个…

gitlab-runner注册到gitlab时报错:ERROR: Registering runner... failed xxxxxxxx

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

CRG设计之时钟

1. 前言 CRG(Clock and Reset Generation&#xff0c;时钟复位生成模块) 模块扮演着关键角色。这个模块负责为整个系统提供稳定可靠的时钟信号&#xff0c;同时在系统上电或出现故障时生成复位信号&#xff0c;确保各个模块按预期运行。简而言之&#xff0c;CRG模块就像是SoC系…

Advanced CNN

文章目录 回顾Google NetInception1*1卷积Inception模块的实现网络构建完整代码 ResNet残差模块 Resedual Block残差网络的简单应用残差实现的代码 练习 回顾 这是一个简单的线性的卷积神经网络 然而有很多更为复杂的卷积神经网络。 Google Net Google Net 也叫Inception V…

第一集《修道宗范》

当家师父慈悲&#xff0c;诸位法师、诸位新戒、诸位在家菩萨&#xff0c;阿弥陀佛 今天学人跟大家研究的主题是《修道宗范》。很多人都会认为&#xff1a;所有的宗教都是劝人为善&#xff0c;所以佛教的修学跟一般的宗教&#xff0c;完全是一样的。其实&#xff0c;这个观念只…

Centos慢慢长大(一)

1、写在前面 这将是一个系列性的文章。可能更多的是记录我在学习的过程中的一些感悟吧。我想强调的是在这一系列文章里我会从最小化的安装开始&#xff0c;然后逐渐的增加需要安装的软件。就象一个婴儿的诞生&#xff0c;慢慢的学走路、学说话、学使用筷子。。。。。。 这将是一…

离谱题 3236:练39.1 书香阁座位

3236正常写法 #include<bits/stdc.h> using namespace std; int main() {int sum,a,b;a1;b10;sumb;cout<<a<<" "<<b;cout<<" "<<sum<<endl;do{a;b2;sumx;cout<<a<<" "<<b<<&…

升级企业战略,思腾合力布局智能生产基地

一直专注于人工智能领域&#xff0c;提供云计算、AI服务器、AI工作站、系统集成、产品定制、软件开发、边缘计算等产品和整体解决方案&#xff0c;致力于成为行业领先的人工智能基础架构解决方案商。 升级企业战略 布局智能生产基地 “十四五”时期&#xff0c;是乘势而上打造…

力扣hot100 不同路径 多维DP 滚动数组 数论

Problem: 62. 不同路径 文章目录 思路解题方法复杂度朴素DP 思路 讲述看到这一题的思路 解题方法 &#x1f468;‍&#x1f3eb; 卡尔一题三解 复杂度 时间复杂度: &#xff1a; O ( n m ) O(nm) O(nm) 空间复杂度: O ( n m ) O(nm) O(nm) 朴素DP class Solution {p…