04、全文检索 -- Solr -- 管理 Solr 的 core(使用命令和图形界面创建、删除 core,以及对core 目录下的各文件进行详细介绍)

目录

  • 管理 Solr 的 core
    • 创建 Core
      • 方式1:solr 命令创建
        • 演示:使用 solr 命令创建 Core:
        • 演示:命令删除 Core(彻底删除)
      • 方式2:图形界面创建
        • Web控制台创建Core
        • Web控制台删除 Core(未彻底删除)
          • 重新加回刚刚删除的core
    • Core 目录下的文件介绍:
      • 创建的 core 对应的目录下的文件:
      • Core 目录的 conf 子目录下的文件:
        • managed-schema
        • solrconfig.xml
        • protwords.txt
        • stopword.txt
        • synonyms.txt

管理 Solr 的 core

管理 Solr 的 core,类似于管理传统的关系型数据库里面的表。
演示怎么创建core、怎么删除core


学习之前需要先启动 Solr

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

solr start -p <端口>

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

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

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

在这里插入图片描述



创建 Core


Solr 使用 Core 保存索引文档,Solr 的 Core 有点类似于 RDBMS 的表。
因此,在正式使用Solr之前,必须先创建Core。


Solr 提供了两种方式来创建 Core:

方式1:使用 solr 命令的 create_core子命令(或用 create子命令也行)创建Core。

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

方式2:通过图形界面创建Core。



方式1:solr 命令创建

演示:使用 solr 命令创建 Core:

solr create_core -c ljhCore -d sample_techproducts_configs

-c: 指定所创建Core的名字。
-d:指定所创建Core以哪个目录为模板。以 E:\install\Solr\solr-8.11.2\server\solr\configsets 目录下的子目录作为配置模板。

演示:

1、先把 security.json 这个配置文件的这个 blockUnknown 属性改为 false ,就是对未知的用户,先不阻塞,可以访问图形管理界面。不然得话,用上面那个命令创建 Core 就会失败。

在这里插入图片描述

如图:重启之后,可以不用登录,就可以访问这个web图形控制平台。

在这里插入图片描述

接下来就输入这个命令来创建core

solr create_core -c ljhCore -d sample_techproducts_configs

可以看到,成功创建一个叫 ljhCore 的 core

在这里插入图片描述


可以看到,创建的 ljhCore 就放在这里
新创建得到的Core保存在: E:\install\Solr\solr-8.11.2\server\solr

在这里插入图片描述

- d: 的解释:

自己的话解释 -d sample_techproducts_configs :

简单来说,我创建这个 ljhCore 这个core,也就是逻辑索引库,也叫反向逻辑库,
在通过这个cord 进行全文检索的时候,需要用到各种 solr 的配置文件,而需要用到的这些配置文件,在 _default 和 sample_techproducts_configs 这两个文件夹里面都存在,区别就是 sample_techproducts_configs 文件夹里面的配置文件比_default 文件夹里面的配置文件更多更完善。
所以在创建 ljhCore 这个core 时,就指定了 -d sample_techproducts_configs 这个文件夹,表示到时候这个core需要用到的配置文件,就去这个文件夹里面获取就可以了。


详细解释:

使用 create core 创建 Core 时,需要使用 -d 选项指定配置文件目录。

正如前面所言,
Solr 使用 Core 保存索引文档,因此在每个 Core 中都需要配置唯一标识、字段类型、字段、停用词等大量与索引库相关的信息,
这些配置信息需要分别提供各种不同的配置文件。所以Solr 允许通过 -d 选项指定到哪个目录去找配置文件。

通俗地说,Solr  每次创建 Core 时都需要大量的配置文件,而 -d 选项就用于指定这些配置模板所在的路径;
如果不指定 -d 选项,Solr 将默认为该选项使用 _defaut 值,
也就是使用 server\solr\confgsets 路径下 _default 目录下的配置文件作为配置模板。
但不推荐将_default 目录下的配置文件作为产品级的 Core 来使用。

在 serversolr\confgsets 路径下还提供了一个 sample_techproducts_confgs 目录,
该目录下的配置文件可作为产品级的 Core 来使用,因此推荐使用该目录作为 Core 配置文件的目录。

在这里插入图片描述



演示:命令删除 Core(彻底删除)

命令格式:

solr delete [-c Core名称] [-p 端口]

使用solr命令的create_core子命令创建Core时或delete子命令删除Core时,没有提供选项指定用户名和密码,因此需要先将前面security.json文件中blockUnknown属性设为false,它表示关闭Solr的用户验证功能。

在这里插入图片描述


演示:

端口如果不指定,那么就会使用默认的8983端口
输入这个命令来删除刚刚创建的 core

solr delete -c ljhCore 

删除 core 成功

在这里插入图片描述

刚刚创建的 ljhCore 对应的文件夹目录也看不到,这是彻底删除

在这里插入图片描述



方式2:图形界面创建


Web控制台创建Core

(1)在server\solr路径下创建一个 ljhcore 目录——该目录就是要创建的 Core 所在的目录。

在这里插入图片描述

(2)将server\solr\configsets\sample_techproducts_configs 目录内 conf 整个目录(配置文件模板)
复制到第一步创建的 ljhcore 目录中。
(注意:通过这种方式创建Core时,它不会自动生成配置文件,所以需要手动把配置文件复制过来)

在这里插入图片描述


(3)在Web控制台填写 Core 的 name 和 directory 后,然后单击“Add Core”按钮创建Core

——通过这种方式创建Core时,无需关闭 blockUnknown 选项。

在这里插入图片描述

如图:创建 core 成功

在这里插入图片描述

如图,再看文件夹目录,多出了这些,表示初始化成功。
在这里插入图片描述

小提示:name 可以随便写,但是实例的目录要对应好

在这里插入图片描述

这个 dataDir 这里,名字也可以自己起,我也可以写成 mydata 之类的。
在这里插入图片描述


如果不在文件夹先创建core的目录和添加配置文件(conf文件夹),直接在控制台创建,是创建失败的,如图:
我直接创建个aaa,没有在 solr-8.11.2\server\solr 路径下先提前创建 core 的目录和添加配置文件,所以创建失败。
失败原因如图:
在这里插入图片描述

再看下文件夹目录:solr 会自动创建一个 aaa 文件夹,但是里面是空的。

在这里插入图片描述



Web控制台删除 Core(未彻底删除)

在Web控制台先选中指定 Core,然后单击该界面上“Unload”按钮即可删除被选中Core。

通过图形界面删除 Core 时,其本质只是卸载。

如图:点击后确认删除

在这里插入图片描述

可以看到 core 被成功删除

在这里插入图片描述

如图:在图形界面删除的core,其实并未彻底删除,一些配置文件还在。
data 文件夹里面是空的。

在这里插入图片描述


Web控制台删除Core 与 命令行界面 删除Core的区别:

用“solr delete”命令删除Core时,它会把整个Core对应的目录都彻底删除;

当通过图形界面删除 Core 时,它只是将该 Core 从 Solr 系统里删除,并未删除该 Core 对应的目录,因此以后还可重新添加回来。



重新加回刚刚删除的core

把 data 文件删除掉

在这里插入图片描述


name 我这里随便写写试试看,但是实例的文件夹目录要对应好

在这里插入图片描述

重新加回这个core 成功

在这里插入图片描述

可以看到这些配置文件都重新加回来了,
删除的时候data文件夹是空的,现在加回来了

在这里插入图片描述



Core 目录下的文件介绍:


创建的 core 对应的目录下的文件:

- conf:该目录存储该Core的配置信息。
- data(可重命名):保存该Core的索引信息
- core.properties:保存了该Core的名称、dataDir 指定了 core 的索引数据的存储目录。
                   还指定了该core的 schema 配置文件和 config 配置文件。

在这里插入图片描述



Core 目录的 conf 子目录下的文件:


在Core目录的conf子目录下可看到如下常见配置文件:
managed-schema
managed-schema(就是以前的schema.xml):定义该Core的整体Schema,

    包括该Core包括哪些Field类型、哪些Field约束、哪些Field、哪些动态Field、哪些Copy Field。
    该文件以前的文件名是schema.xml、用户可通过文本编辑器直接编辑它,
    现在则推荐使用图形界面编辑,这样更安全、有效。

在这里插入图片描述

solrconfig.xml
solrconfig.xml:该 Core 的索引库相关配置。

在这里插入图片描述


protwords.txt
protwords.txt:配置该 Core 额外的保护词。

   所谓保护词就是停止对该词的 “词干化”,
   在正常词干化的处理方式下,managing、managed、manageable 这些单词最终都会变成 manage。
   如果不希望某个单词被词干化,就将该单词添加到此文件中。
   保存所有的保护词列表。

如图:基本上没有加任何的保护词。

在这里插入图片描述

在这里插入图片描述

stopword.txt
stopword.txt:配置该 Core 额外的停用词,Lucene 不会对停用词创建反向索引库,
   因此程序也不能对停用词执行搜索。
   保存所有的停用词列表。      

停用词:比如这句 “ 好吃的鸡腿 ”,这里的 “的” 字就属于停用词,
因为我们如果进行检索的话,只会去检索“好吃”,“好吃的”,“鸡腿”,并不会单独去检索这个 “的” 字,因为没有意义 。
所以 Lucene 不会对 停用词 创建反向索引库

在这里插入图片描述

如果我在这里添加 “帅气” 这个词作为停用词,那么 lucene 就不会为这个 “帅气” 创建反向索引库,那么我们在进行全文检索的时候,通过“帅气”这个词来查找时,耗费的时间就会比较长。

在这里插入图片描述


synonyms.txt
synonyms.txt:用于配置该Core的所有同义词。
              保存了所有的同义词列表。

在这里插入图片描述

比如: color => colour

color 是美式英语的写法; colour 是英式英语的写法;
但是它们表示的意义都是 “颜色”

当我把 color => colour 添加到 synonyms.txt 这个保存同义词列表的配置文件里面,
那么如果一篇文章里面出现了color 和 colour 这两个词,当我们在查找 color 的时候,这个 colour 也应该被查找出来,反之也是。

把 color => colour 添加到 synonyms.txt,相当于把 color 和 colour 当成同一个词。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用css绘制小三角形

要使用CSS绘制小三角形&#xff0c;您可以使用border属性来设置边框样式。下面是一种常见的绘制小三角形的方法&#xff1a; <style>.box {width: 0;height: 0;/* border-top: 10px solid red; */border-bottom: 10px solid blue;border-left: 10px solid transparent;b…

【Mysql】事务的隔离级别与 MVCC

事务隔离级别 我们知道 MySQL 是一个 C/S 架构的服务&#xff0c;对于同一个服务器来说&#xff0c;可以有多个客户端与之连接&#xff0c;每个客户端与服务器连接上之后&#xff0c;就是一个会话&#xff08; Session &#xff09;。每个客户端都可以在自己的会话中向服务器发…

【算法与数据结构】718、1143、LeetCode最长重复子数组 最长公共子序列

文章目录 一、718、最长重复子数组二、1143、最长公共子序列三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、718、最长重复子数组 思路分析&#xff1a; 第一步&#xff0c;动态数组的含义。 d p [ i ] [ j ] dp[i]…

计算机视觉-PCV包、Vlfeat库、Graphviz库的下载安装配置及问题解决(使用anaconda3 python 3.8.5)

目录 一、PCV包配置 二、Vlfeat配置 三、在PCV包的sift.py文件中对路径进行修改 四、以上步骤所需注意的错误 五、Graphviz配置 一、PCV包配置 1.下载PCV包,点开网址直接下载安装包(不用解压),下载之后将安装包放在任意目录位置https://codeload.github.com/Li-Shu14…

Java_简单实现无头单向非循环链表_简单实现LinkedList

文章目录 一、ArrayList的优缺点二、链表1.链表的概念及结构2.链表的分类1、单向或者双向2、带头或者不带头3、循环或者非循环 三、实现无头单向非循环链表1.定义接口2.定义MySingleList3.成员1、节点类&#xff08;定义在MySingList类里&#xff09;2、头节点引用 4.打印链表实…

【服务器搭建】快速完成幻兽帕鲁服务器的搭建及部署【零基础上手】

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 教程详戳&#xff1a;不需要懂技术&#xff0c;1分钟幻兽帕鲁服…

Datax问题记录

1、同步mysql&#xff1a;OS errno 24 - Too many open files 2023-11-20 12:30:04.371 [job-0] ERROR JobContainer - Exception when job run com.alibaba.datax.common.exception.DataXException: Code:[DBUtilErrorCode-07], Description:[读取数据库数据失败. 请检查您的…

【Kafka】 幂等和事务详解

目录 幂等性为什么需要幂等性如何实现幂等性使用幂等幂等性的限制条件幂等性的实现原理 事务为什么需要事务开启事务事务保证事务恢复的保证事务原子性的保证事务中 Offset 的提交保证用于事务特性的控制型消息 事务流程事务原理FindCoordinatorRequestInitProducerIdRequest开…

2.2作业

1、写一个宏&#xff0c;可以将一个int型整数的二进制位的奇数位和偶数位交换 2、递归实现字符串逆置 void func (char *src) {if (strlen(src) 0){return;} else{ func(&src[1]);printf("%c", src[0]);} } int main(int argc, const char *argv[]) { char *s …

☻C++ QA

0. 什么是“第一性原理”&#xff1f; 函数指针的定义泛式与原理&#xff1f;联合(union)的原理是怎样的&#xff1f;联合类型对象的指针是什么意思&#xff1f;命名空间在.h和.cpp中怎么定义和使用&#xff0c;是什么原理&#xff1f;静态变量/函数在.h和.cpp中怎么定义和使用…

资源推荐:web js linux windows vm 虚拟机

web js vm list https://bellard.org/jslinux/index.html 可以在在浏览器中运行 X Window 或 Windows 2000、linux 以下为示例&#xff1a; JSLinux - News 从2018-08-18开发更新到2021-01-09 … https://bellard.org/jslinux/news.html faq 常见问题解答 https://bella…

flv视频格式批量截取封面图(不占内存版)--其他视频格式也通用

flv视频格式批量截取封面图&#xff08;不占内存版&#xff09;--其他视频格式也通用 需求&#xff08;实现的效果&#xff09;功能实现htmlcssjs 需求&#xff08;实现的效果&#xff09; 批量显示视频&#xff0c;后端若返回有imgUrl,则直接显示图1&#xff0c; 若无&#xf…

如何使用VSCode上运行Jupyter,详细案例过程出可视化图

Python作为最受AI喜欢的语言之一&#xff0c;我们与大家共同学习下如何在VS Code上运行Jupyter&#xff0c;并且用简单案例实现出图。 环境 VS Code version: 1.80.1 Python: 3.12.0 小白安装过程&#xff1a; 在准备好基础环境&#xff0c;小白心想&#xff0c;AI可是霸占科…

爬虫(二)使用urllib爬取百度贴吧的数据

下一期我就不用urllib来抓取数据了&#xff0c;因为urllib现在已经很少人用&#xff0c;大部分人用得是requests&#xff0c;requests也是基于底层urllib的一个模块。 首先我先来讲一下关于如何使用动态的UA&#xff01; 动态UA就是指在自己创建的一个列表里随机选择一个UA当做…

07 SB3之@HttpExchange(TBD)

HttpExchange是SpringBoot3的新特性. Spring Boot3 提供了新的 HTTP 的访问能力&#xff0c;封装了Http底层细节. 通过接口简化 HTTP远程访问&#xff0c;类似 Feign 功能。 SpringBoot 中定义接口提供 HTTP 服务 --> 框架生成的代理对象实现此接口 --> 框架生成的代理…

RabbitMQ下载与安装

一、Docker安装 1.单机部署 我们在Centos7虚拟机中使用Docker来安装。 1.1.下载镜像 方式一&#xff1a;在线拉取 docker pull rabbitmq:3-management方式二&#xff1a;从本地加载 上传到虚拟机中后&#xff0c;使用命令加载镜像即可&#xff1a; docker load -i mq.ta…

全面认识DOS系统

目录 一、DOS系统的功能 1.执行命令和程序&#xff08;处理器管理&#xff09; 2.内存管理 3.设备管理 4.文件管理 5.作业管理 二、文件与目录 三、文件类型与属性 1.系统属性&#xff08;S&#xff09; 2.隐含属性&#xff08;H&#xff09; 3.只读属性&#xff08…

Window命令行 如何查看以及关闭进程

目录 前言1. 基本知识2. Demo 前言 用习惯了Linux操作系统&#xff0c;突然想用Window&#xff0c;发现很陌生&#xff01; 补充一波Linux的基本命令&#xff1a; 查看进程和端口信息&#xff1a; 通过 netstat -tanp 命令查看系统上的所有网络连接&#xff0c;然后通过 grep…

Docker 集群配置

1、配置 MySQL MySQL 简单安装 docker安装完MySQL并run出容器后&#xff0c;建议请先修改完字符集编码后再新建mysql库-表-插数据 docker run -d -p 2222:3306 --privilegedtrue -e MYSQL_ROOT_PASSWORD123456 \ -v /opt/mysql/log:/var/log/mysql \ -v /opt/mysql/data:/va…

day36 无重叠区间 划分字母区间 合并区间

题目1&#xff1a;435 无重叠区间 题目链接&#xff1a;435 无重叠区间 题意 intervals[i][starti&#xff0c;endi] 移除区间&#xff0c;使得区间互不重叠&#xff0c;返回移除区间的最小数量 相邻区间挨在一起&#xff0c;尽量移除重叠区间 代码 class Solution { publ…
最新文章