elasticsearch使用

elasticsearch使用

简介

  • elasticsearch是一种开源的搜索引擎,可以从海量数据中快速找到需要的内容。

  • elastic stack(ELK):以ES为核心的技术栈

  • elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监控等领域

    image-20230316130443452

  • ES是核心,其他的组件可以被替换

  • 优势

    • 支持分布式、水平扩展
    • 提供restful风格的接口,适应多语言

ES核心——倒排索引

  • 正向索引

    • 查找过程:先查找文档,然后查询文档中是否含有关键词,如果有加入结果集

    • mysql中采用正向索引

      image-20230316130949029
  • 倒排索引

    • 文档 每一条数据
    • 词条:将文档按照某个规则划分词语
    image-20230316131213685
  • 搜索过程

    • 分词
    • 在倒排索引库根据分词结果查找文档id
    • 根据id查询文档
    • 返回结果集
    image-20230316131324499

ES中的概念

  • 文档

    • 在es中存储的数据,使用json格式
    • image-20230316131728335
  • 索引

    • 相同类型文档的集合,类似于数据库中的表
    • image-20230316131813786
  • 映射(mapping)

    • 对索引中字段的约束例如是string、还是int
  • Mysql与ES的对比

    • 两者是互补的关系
    • mysql是擅长事务类型的操作,确保数据的一致性
    • ES擅长海量数据的存储,查询分析

    image-20230316132130935

es的安装(略)

  • 安装es

  • 安装kibanna

  • 安装ik分词器

    image-20230316162118175

es操作

mapping

  • 类型 type
    • 字符类型
      • text:可分词的文本
      • keyword:不可分词的文本
    • 数值类型:long、integer、float、double
    • 日期类型:date
    • 对象类型:object
image-20230316162631880
  • index:是否创建倒排索引 默认值为true
  • analyzer:分词器
  • proterties:子属性

索引库的操作

  • 创建索引库

    PUT /lmx
    {"mappings": {"properties": {"info":{"type": "text", "analyzer": "ik_smart"},"name":{"type": "text", "analyzer": "ik_smart"},"email":{"type": "keyword"},"preson":{"properties": {"age":{"type":"integer","index":"false"}}}}}
    }
    
  • 获取索引库信息

GET /lmx
  • 删除索引库
DELETE /lmx
  • 更改索引库
    • 在es中,不允许修改字段名,只允许添加新的字段名,防止倒排索引失效
	PUT /lmx/_mapping{"properties":{"address":{"type":"text","analyzer":"ik_smart"}}}

文档的操作

  • 增加
POST /lmx/_doc/1  
{"address":"陕西省","email":"294371334@qq.com","info":"测试","name":"两面性","preson":{"age":10}
}
  • 查询
GET /lmx/_doc/1
  • 修改
    • 全量修改:删除旧文档,插入新文档(又能删除、又能修改)
	PUT /lmx/_doc/1{"address":"陕西省","email":"lmx@qq.com","info":"测试","name":"两面性","preson":{"age":10}}
  • 增量修改
POST /lmx/_update/1{"doc":{"name":"修改测试"}}
  • 删除
DELETE /lmx/_doc/1

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Blazor第三方组件库推荐:BootstrapBlazor UI

文章目录 前言资源适合人群如何开始环境配置开始新项目Server和Wasm的区别.NET CORE 不支持 7.0运行结果 使用组件发布项目配置到IIS里面 样式问题 前言 Blazor是C#全栈追求极致开发速度的一个前后端不分离的框架,上限是在Winform,WPF,MAUI等宿主环境上面运行的全平…

【iOS】json数据解析以及简单的网络数据请求

文章目录 前言一、json数据解析二、简单的网络数据请求三、实现访问API得到网络数据总结 前言 近期写完了暑假最后一个任务——天气预报,在里面用到了简单的网络数据请求以及json数据的解析,特此记录博客总结 一、json数据解析 JSON是一种轻量级的数据…

flutter 导出iOS问题2

问题1:The Swift pod FirebaseCoreInternal depends upon GoogleUtilities, which does not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries) 参考 正如上图报错第三方…

桶排序算法

桶排序算法 算法思想概述: 桶排序(Bucket Sort)是一种非比较性的排序算法,它将待排序的元素分到有限数量的桶(或箱子)中,然后对每个桶中的元素分别进行排序,最后合并所有桶的元素得…

论文笔记——Influence Maximization in Undirected Networks

Influence Maximization in Undirected Networks ContributionMotivationPreliminariesNotations Main resultsReduction to Balanced Optimal InstancesProving Theorem 3.1 for Balanced Optimal Instances Contribution 好久没发paper笔记了,这篇比较偏理论&…

同城预约上门小程序开发:为用户带来便捷与个性化的服务体验“

上门服务小程序开发具有许多优势,下面我将介绍一些重要的优点。   方便快捷:上门服务小程序可以让用户随时随地通过手机进行预约和安排上门服务。无需等待电话回复或亲自前往实体店面,用户可以直接在小程序中选择时间、服务类型和地点&…

有哪些开源和非开源的项目管理工具?

开源和非开源项目管理工具各有其特点和优势。下面是一些常见的开源和非开源项目管理工具以及它们的简要介绍。 开源项目管理工具: OpenProject:OpenProject 是一个功能强大、易于使用的开源项目管理工具。它提供了项目计划、任务管理、团队协作、文档管…

网格简化(QEM)学习笔记

文章目录 网格简化(QEM)1 概述与原理1.1 网格简化的应用1.2 常见的简化操作1.3 二次误差度量 2 算法流程2.1 逐步分析 3 Python代码实现3.1 测试结果 4 总结参考 网格简化(QEM) 1 概述与原理 网格简化,通过减少复杂网格数据的顶点、边和面的数量简化模型的表达&am…

【Spring Cloud】Gateway的配置与使用

文章目录 前言第一步,创建一个springboot工程第二步,添加依赖第三步,编写yml文件第四步,启动主启动类总结 前言 Gateway其实是springcloud 原生的东西,但是我还是想放在这里讲,因为我们使用nacos时&#x…

odoo16 上传/下载 文件接口的实现

突然有个需求说需要编写一个上传pdf 接口 首先需要准备如下 xx.xx模型 module 部分 如下: attachment_count fields.Integer(compute_compute_attachment_count, string附件数量, requiredTrue)def _compute_attachment_count(self):# 附件数量计算attachment_dat…

HCIP中期实验

1、该拓扑为公司网络,其中包括公司总部、公司分部以及公司骨干网,不包含运营商公网部分。 2、设备名称均使用拓扑上名称改名,并且区分大小写。 3、整张拓扑均使用私网地址进行配置。 4、整张网络中,运行OSPF协议或者BGP协议的设备…

常见的数据结构(顺序表、顺序表、链表、栈、队列、二叉树)

线性表(Linear List)  1.什么是线性表 2.线性表的特点 3.线性表的基本运算 顺序表 1.什么是顺序表 2.时间复杂度: 链表 1.什么是链表 2.单向链表 3. 双向链表 4.ArrayList和LinkedList的使用 栈Stack  1.什么是栈  2.栈的基本方法 队列…

AlexNet卷积神经网络-笔记

AlexNet卷积神经网络-笔记 AlexNet卷积神经网络2012年提出 测试结果为: 通过运行结果可以发现, 在眼疾筛查数据集iChallenge-PM上使用AlexNet,loss能有效下降, 经过5个epoch的训练,在验证集上的准确率可以达到94%左右…

Excel 超牛的格式调整汇总——你还在担心你做出来的表不好看吗

Excel格式调整技巧 绘图逆序绘制条形图设置条形图宽度 条件格式透视表上的条件格式 数字格式千分位逗号数字同时显示 K M 数据分列非重复计数区域透视图新增计算列隐藏行列快捷键其他小技巧 绘图 逆序绘制条形图 设置条形图宽度 条件格式 透视表上的条件格式 条件格式随切片…

vue、uniapp直传阿里云文档

前端实现文件上传到oss(阿里云)适用于vue、react、uni-app,获取视频第一帧图片 用户获取oss配置信息将文件上传到阿里云,保证了安全性和减轻服务器负担。一般文件资源很多直接上传到服务器会加重服务器负担此时可以选择上传到oss&…

Typescript 枚举类型

枚举是用来表示一组明确的可选值列表 // enum是枚举类型的关键字 //枚举如果不设置值,默认从0开始 enum Direction {Up, // 0 Down, // 1 Left, // 2Right // 3} //如果给第一个值赋值为100,则第二、第三第四个都会在第一个的基础上1 分别是101,102…

MySQL数据备份与还原

一、数据备份 1、使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。 mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表…

用友和金蝶:管理软件巨头引领企业转型潮流,新技术开始崭露头角

打造企业帝国的管理软件 在当今企业界,管理软件已经成为提高工作效率、优化业务流程的重要工具。 在众多管理软件中,用友和金蝶凭借其卓越的功能和全面的解决方案成为了众多企业的首选。 用友和金蝶的管理软件是国内知名企业管理软件,广泛应…

为什么大多数团队推行自动化测试最后却不了了之?

随着软件行业的快速发展,接口测试用例在软件开发中扮演着越来越重要的角色。自动化测试作为软件测试的一个重要分支,一般可以提高测试效率和质量,节约测试成本和时间,但是在实际推行过程中,大多数团队最终却难以持续实…

vue3+uniapp自定义tabbar

首先把tabbar中的元素写在一个list中用v-for进行渲染 用一个interface进行定义接口,这样别人在review你的代码就可以清晰知道你的tabbar包含什么元素。 利用typescript特性进行类型定义,可以省去很多麻烦 import { reactive } from "vue" imp…