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

本文主要是介绍02、全文检索 ------ Solr(企业级的开源的搜索引擎) 的下载、安装、Solr的Web图形界面介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 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内部的线程转储。

在这里插入图片描述

这篇关于02、全文检索 ------ Solr(企业级的开源的搜索引擎) 的下载、安装、Solr的Web图形界面介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/664753

相关文章

MySQL之搜索引擎使用解读

《MySQL之搜索引擎使用解读》MySQL存储引擎是数据存储和管理的核心组件,不同引擎(如InnoDB、MyISAM)采用不同机制,InnoDB支持事务与行锁,适合高并发场景;MyISAM不支持事务,... 目录mysql的存储引擎是什么MySQL存储引擎的功能MySQL的存储引擎的分类查看存储引擎1.命令

5 种使用Python自动化处理PDF的实用方法介绍

《5种使用Python自动化处理PDF的实用方法介绍》自动化处理PDF文件已成为减少重复工作、提升工作效率的重要手段,本文将介绍五种实用方法,从内置工具到专业库,帮助你在Python中实现PDF任务... 目录使用内置库(os、subprocess)调用外部工具使用 PyPDF2 进行基本 PDF 操作使用

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引