黑马学ElasticSearch(二)

news2024/11/18 20:17:33

目录:

(1)初始ES-安装IK分词器

(2)IK分词器的拓展和停用词典

(3)操作索引库-mapping属性

(4)操作索引库-创建索引库

(5)操作索引库-查询-删除-修改索引库

(6)文档操作-新增-查询-删除文档 

 (7)文档操作-修改文档


(1)初始ES-安装IK分词器

 发现以英语进行分词可以,中文是一个一个的进行分词

 换中文进行分词:还是一字一字的分,它没有办法去理解中文含义按内容分

 标准分词:也是一样:

要想去分词中文就不能使用默认的分词器了, 我们需要它按词进行分 ,需要使用:

 

 

 

上次ES安装的定义的目录 

 

 

 查看数据卷的目录:

 

 把解压的文件上传

 

 重启容器:

 

 它包含两种模式:先使用ik_smart:分词成功了:它分的粒度大,分词少

使用ik_max_word:进行分词 :它分的词语比ik_smart:分的词语更多

 

 

 使用ik_smart分词少,被搜索到的概率比较低,它的好处是分的次少了,占用的内存空间就少了,将来我的内存中可以缓存更多的数据查询效率高

ik_max_word:分词较多,占用的内存空间较多,这是它的缺点

所以需要在内存占用搜索效率,被搜索到的概率之间做出选择

(2)IK分词器的拓展和停用词典

分词的底层一定有各种各样的字典,字典里面有各种各样的词语,当它分词的时候拿这些字去匹配,里面有没有这个词,证明它是一个词,字典中并不是包含所有的词语,比如流程的词语就没有

 下面的搜索里面没有的词:传智教育、白嫖、奥利给等,进行了一个一个的分

 

 怎么去字典拓展拓展,还有象’的’这样的词,没有意义不要它分词,还有一些敏感词汇,不要它出现,把它禁掉,那么我们分词器,能否实现字典的个性化设置?

 

 

  

这两个是文件名,然后再这个目录下创建ext.dic文件

扩展词汇: 

 

 禁用词汇:

 

 重启一下ES:

 重新在测试一下:出现了白嫖,传智教育,的这个词也没有显示

 

 

 

 

分词器分词是在:第一个给文档创建索引的时候,对文档个中的某个内容进行分词,给词条创建倒排索引

第二个是用户在搜索的时候进行分词,对用户输入的内容进行分词

(3)操作索引库-mapping属性

索引库就相当于表,索引库里面有文档,相当于数据库里面的一行一行的数据,数据库先创建表才能添加数据,ES里面也一样,先有索引库,才能往里面添加文档。创建一个个索引库,就想建表一样,如果想创建一个索引库,需要指定mapping映射,mapping是对文档的约束

先学习索引库的操作:

 

 可以去官方查看mapping的常用属性

这里我们看几个常用的mapping属性 

type:看一下这个字段需要不需要拆,需要拆的话用text,不需要拆的话用keyword

 index:创建索引,默认是true  创建索引是字面意思,要不要创建倒排索引 ,然后就可以搜索了,没有倒排索引就没有办法搜索这个字段 在实际的开发过程中并不是所有的字段需要搜索,

不需要搜索的字段,把这个值设置为false

 

 (4)操作索引库-创建索引库

创建索引库:案例:

 

(5)操作索引库-查询-删除-修改索引库

 

 ES一般是不允许修改索引库的,如果你要去修改一个字段的话,就会导致我们原有的倒排索引失效,但是可以修改库添加新的字段

 查看索引库:

 添加新字段:

查询一下:成功添加: 如果你想修改这个字段,就会报错:

删除索引库:

 

查询一下:查询不到404 

 

(6)文档操作-新增-查询-删除文档 

 

 插入文档:

 查看一下添加的数据:_vesion:每次的写操作版本都会增加

 

 删除文档:

删除之后,在查询:

 

 (7)文档操作-修改文档

方式一: 

它跟新增文档的写法相似,只是更换了请求方式 ,它会根据id查询查询出来删除旧数据,添加新数据

 修改文档:修改文档的email字段

 在查询一下:

 

 当id不存在时,变成了新增数据

 方式二:(增量修改)局部修改:局部修改字段

修改email:

 查询一下:

 

 

 

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

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

相关文章

2023浙大MPA项目复试参考

今年浙大MPA项目复试是否会恢复线下面试呢?从形式上来说,常规批复试无论是采取钉钉线上还是现场,似乎都可以顺利完成这一项研究生录取前的必要环节。但在2021年浙大MBA和MPA两个项目顶着风险组织了一次现场面试,只不过是放在了西溪…

EEG-SEED数据集作者的---基线论文阅读和分析

《Investigating Critical Frequency Bands and Channels for EEG-based Emotion Recognition with Deep Neural Networks》 方法: A.预处理根据被试的反应,只选择诱发目标情绪的实验时期进行进一步分析。 将原始脑电图数据降采样至200Hz采样率。目视…

【C语言课堂】 函数精讲

欢迎来到 Claffic 的博客 💞💞💞 前言: 上期我们详细讲了分支和循环语句,这次我们来讲解函数。说到函数,大家应该不陌生。C语言中的函数是什么样的呢?听我娓娓道来 ~ 目录 ❤️1.何为函数 &a…

目标检测:YOLO V1 思想总结

目标检测:YOLO V1 思想总结YOLO V1Introduction(模型介绍)Network Design(网络设计)Backbone(骨干网络)Grid Cell(单元格)Loss Function(损失函数&#xff09…

信息系统项目管理师考点之进度与成本常见计算

信息系统项目管理师考点之进度与成本常见计算总时差和自由时差区别PERT技术进度管理常见问题解决方案挣值分析成本控制主要工作内容参考链接总时差和自由时差区别 总时差 指一项工作在不影响总工期的前提下所具有的机动时间 总时差 LS - ES LF - EF 自由时差 指一项工作在不…

【STL标准库 范型编程】学习笔记(1):C++学习网站、STL六大部件介绍

目录 简介C++学习网站STL六大部件学习来源结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国…

YUTU

FE: Cortex-R4 处理器 第一个基于 ARMv7-R 体系结构的深层嵌入式实时处理器 BE : Cortex-M3处理器 基于 ARMv7-M体系结构 The YuTu SoC is a Flash memory controller chip, which provides a PCIe Gen 3x4 host interface and 4 channels (up to 8 CEs per channel) Flash in…

【自学C++】C++变量赋值

C变量赋值 C变量赋值教程 变量 的赋值就是给已经定义的变量进行重新设置值的过程,C 中变量的赋值可以单独为单个变量赋值,也可以同时为多个变量赋值。 C变量赋值详解 语法 varname1 value1;参数 参数描述varname1需要赋值的变量。value1需要给变量…

【MySQL系列】Java的JDBC编程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 前言 一、JCBD背景知识引入 二、安装MySQL数据库驱动包,并且导入到项目中 三、JDBC的使用 3.1 JDBC插入数据操作 3.2 JDBC修改数据操作…

哈希(C++)

C语言总结在这常见八大排序在这作者和朋友建立的社区:非科班转码社区-CSDN社区云💖💛💙期待hxd的支持哈🎉🎉🎉最后是打鸡血环节:想多了都是问题,做多了都是答案&#x1f…

计算机网络复习之运输层

文章目录ARQ协议停等式ARQ回退n帧的ARQ(GBN)选择性重传ARQ(SR)UDP协议TCP协议TCP协议的特点TCP报文段首部格式TCP连接管理TCP可靠传输TCP的流量控制TCP拥塞控制参考拥塞:若对网络中某一资源的需求超过了该资源所能提供…

Jenkins安装

Jenkins安装1、Jenkins简介2、Jenkins安装2.1 安装条件2.2 安装JDK2.2.1 检索可用包2.2.2 安装2.3 下载Jenkins的war包2.4 启动jenkins并测试3、安装maven1、Jenkins简介 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件…

LeNet5—论文及源码阅读

LeNet5—论文及源码阅读🐬 目录: 一、概论二、论文选读三、源码精读四、参考资料 一、概论 LeNet-5是一种经典的卷积神经网络结构,于1998年投入实际使用中。该网络最早应用于手写体字符识别应用中。普遍认为,卷积神经网络的出现开始于LeCu…

蓝牙Inquiry与Inquiry Scan

文章目录一、Inquiry和Inquiry Scan二、Inquiry的三种模式2.1 Inquiry命令2.2 标准Inquiry应答2.3 带RSSI的Inquiry应答2.4 带EIR的Inquiry应答三、Extend Inquiry Response3.1 EIR数据格式3.2 EIR数据注册3.3 EIR数据解析示例3.4 获取对端设备名称的方法四、Inquiry Scan参数一…

推荐系统入门学习(二)【小白入门系列】

搭建你的第一个推荐系统 初识推荐系统 最初的推荐系统,作用是过滤垃圾邮件。今日机器学习算法的发展,朴素贝叶斯、神经网络已然成为了过滤垃圾邮件的好手。但是在30年前,算法还没有如今使用得广泛的时候,“找相同”就成为了过滤…

大型网络游戏任务系统的架构与设计

在网路游戏中做任务已经成为游戏很重要的一个核心功能和玩法,如何做好一个灵活可扩展的任务系统的架构与设计,今天来给大家分享一些我们的设计经验。接下来我把整个的任务系统分成以下6个模块:任务配置表设计与管理;游戏任务的解锁与生成;任务完成判定;任…

将本地的word文档转为markdown(带图片)发布到CSDN

文章目录一、前言二、word转为markdown三、自动发布本地md文件一、前言 背景:早期很多学习笔记都是记在word上(那一年,还不知道有markdown),现在想将早期的一些资料都发布到CSDN上(本地学习资料我都懒得打…

数据中心灾备通用基础

1.灾备的定义 没有灾备会带来的问题 一旦数据中心的数据遭到破坏,随之而来的是很多棘手的问题 灾备可以提供全面数据保护 IT行业中的备份 在当今IT行业中,数据量急剧增长,并且新的法规不断出台,对备份时间、恢复时间目标&#…

Linux应用编程---4.pthread_create函数

Linux应用编程—4.pthread_create函数 ​ 之前学习了进程有关的东西,现在学习如何创建一个线程。 4.1 pthread_create()函数详情 ​ 线程创建函数是:pthread_create()。在Linux终端下,输入man pthread_create,查看函数定义以及…

Python基础(二十三):面向对象之继承介绍

文章目录 面向对象之继承介绍 一、继承的概念 二、单继承 三、多继承