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

相关文章

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

Python下载Pandas包的步骤

《Python下载Pandas包的步骤》:本文主要介绍Python下载Pandas包的步骤,在python中安装pandas库,我采取的方法是用PIP的方法在Python目标位置进行安装,本文给大... 目录安装步骤1、首先找到我们安装python的目录2、使用命令行到Python安装目录下3、我们回到Py