Elasticsearch快速入门及使用

news2024/11/26 21:21:02

Elasticsearch快速入门及使用

  • 一.Elasticsearch是什么
  • 二.基本概念
    • 1.index (索引)
    • 2. type (类型)
    • 3.Document (文档)
  • 三.为什么Elasticsearch可以从海量数据里快速检索出数据
  • 四.Elasticsearch安装
    • 1.解压
    • 2.运行
    • 3.显示以下内容就是启动成功1
    • 4.Kibana可视化软件安装
  • 五.入门(基本的操作)
    • 1.查看es基本信息
    • 2.索引一个文档(新增一条数据)
    • 3.查询一个文档(查询一条数据)
    • 4.更新一个文档(更新数据)
    • 5.删除索引或文档(删除数据库或数据)
    • 6.批量操作

一.Elasticsearch是什么

Elasticsearch 是一个免费且开放的分布式搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。

Elasticsearch 是全文搜索引擎的首选。它可以快速地储存检索分析海量数据。

二.基本概念

1.index (索引)

相当于mysql你创建的某个数据库。

2. type (类型)

相当于mysql你创建的某个表。

3.Document (文档)

相当于mysql表里的数据 (json格式)

三.为什么Elasticsearch可以从海量数据里快速检索出数据

快速检索归功于 Elasticsearch的倒排索引(存入数据会维护一张倒排索引表)

倒排索引的步骤
举例:按顺序存入 A =《大话东游》、B =《爱坤大话东游》、C =《大话连篇东游》、D = 《大话西游》

(1) 分词
①《大话东游》会被分成 《大话》和《东游》并属于A。

②《爱坤大话东游》会被分成 《爱坤》《大话》和《东游》并属于B。

③《大话连篇东游》会被分成 《大话》《连篇》和《东游》并属于C。

④《大话西游》会被分成 《大话》和《西游》并属于D。

倒排索引表如下:

记录
《大话》A,B,C,D
《东游》A,B,C
《爱坤》B
《连篇》C
《西游》D

(2) 检索
例如:检索《爱坤大话西游》
① 分词成 《爱坤》《大话》和《西游》
②去倒序索引表去查,包含这几项的记录。
③ 查到如下

记录
《大话》A,B,C,D
《爱坤》B
《西游》D

④ 然后计算相关性得分
D最符合,因为D分成两个单词都命中(2/2)。然后B分成三个单词命中两个(2/3)。然后A…,最后会根据相关性得分从高到低返回。

四.Elasticsearch安装

Elasticsearch官方安装文章

下载即用elasticsearch-7.3.1和kibana-7.3.1 提取码:0221

1.解压

在这里插入图片描述

2.运行

在这里插入图片描述

3.显示以下内容就是启动成功1

在这里插入图片描述

4.Kibana可视化软件安装

安装教程 注意:版本号要对应

五.入门(基本的操作)

Apifox-2.3.0自测工具安装包
注意:因为es把命令都封装成RestApi,所以我们直接发请求就行。

1.查看es基本信息

GET/_cat/nodes   //查看所有的节点
GET/_cat/health  //查看es健康情况
GET/_cat/master  //查看所有的节点
GET/_cat/indices //查看所有索引(相当于查看所有数据库)
下面截图举例查询es健康情况:

在这里插入图片描述

2.索引一个文档(新增一条数据)

举例:http://localhost:9200/kunkun/ikun/2.5
含义:我们在kunkun索引下的ikun类型下保存id为2.5的数据。(相当于在kunkun数据库下的ikun表加一个id为2.5的数据,es里面存的是json数据)

异同点:
①POST和PUT请求新增如果重复发请求,如果存在就会更新。

②POST和PUT如果重复发请求更新时,不会对比原数据,版本号等会改变。

③POST请求不带id,会自动给你生成唯一id。PUT请求不带id会报错。

在这里插入图片描述

3.查询一个文档(查询一条数据)

在这里插入图片描述

4.更新一个文档(更新数据)

不适用: 大并发更新。
适用: 大并发查询偶尔更新。
在这里插入图片描述

注意:POST请求带 _update 关键字更新时会对比原来的数据,如果数据没有任何改变,不做任何操作,版本号等都不改变。

5.删除索引或文档(删除数据库或数据)

(1) 删除文档
在这里插入图片描述

(2) 删除索引
在这里插入图片描述

6.批量操作

注意:我们使用Kibana操作,批量操作时上一条命令失败不会影响下一条命令的操作。
在这里插入图片描述
(1) 简单测试

//给kunkun数据库下的ikun表导入两条数据
POST /kunkun/ikun/_bulk
{"index":{"_id":"1"}}
{"name":"chang"}
{"index":{"_id":"2"}}
{"name":"tiao"}

在这里插入图片描述

(2) 批量导入测试数据

es提供的测试数据 提取码:0221

在这里插入图片描述
好了入门到此结束。请期待后续的进阶文章。

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

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

相关文章

如何编写有效的接口测试?

在所有的开发测试中,接口测试是必不可少的一项。有效且覆盖完整的接口测试,不仅能保障新功能的开发质量,还能让开发在修改功能逻辑的时候有回归的能力,同时也是能优雅地进行重构的前提。编写接口测试要遵守哪些原则?测…

unity Ignis - Interactive Fire(完美模拟:森林火灾、草原火灾、建筑火灾)

Ignis 可以把任何物体、植被或带皮带骨的网状物转换为可燃物体,它就会自动着火。然后,火焰可以蔓延,点燃其他物体,被粒子或光线熄灭,或者自然烧尽。也可以被粒子点燃。还会收到风力影响WindZone。 WindZone文档&#…

轻量级性能测试工具 wrk 如何使用?

项目设计之初或者是项目快要结束的时候,大佬就会问我们,这个服务性能测试的结果是什么,QPS 可以达到多少,RPS 又能达到多少?接口性能可以满足未来生产环境的实际情况吗?有没有自己测试过自己接口的吞吐量&a…

磁盘详解(一文搞懂磁盘)

目录 一.磁盘的结构 二.磁盘的分类 2.1按照磁头是否可以移动分类 2.2按照盘片是否可以更换分类 三.磁盘的读写过程 四.磁盘的调度 4.1FCFS先来先服务算法 4.2SSTF最短寻找时间优先 4.3 SACN扫描算法 4.4C-SACN循环扫描算法 4.5 SPTF(最短定位时间优先&…

Maxwell安装使用

​欢迎光临我的博客查看最新文章: https://river106.cn 1、Maxwell简介 Maxwell 是由美国Zendesk开源,用Java编写的MySQL实时抓取软件。读取 MySQL binlogs 并将修改行字段的更新写入 Kafka, Kinesis, RabbitMQ, Google Cloud Pub/Sub 或 Redis (Pub/Sub or LPUSH)…

基于Aidlux的停车标志检测(可修改为coco 80类目标检测)

●项目名称 基于Aidlux的停车标志检测(可修改为coco 80类目标检测) ●项目简介 本项目在Aidlux上部署检测停车标志检测,并可在源码上修改coco 80类目标检测索引直接检测其他79类目标,可以直接修改、快速移植到自己的项目中。 ●…

【学习笔记】Java——消息队列kafka

kafka 1、Kafka combines three key capabilities:2、kafka是如何工作的:3、Kafka APIS:4、kafka集群 1、Kafka combines three key capabilities: To publish (write) and subscribe to (read) streams of events, including co…

中国游戏等“春”来

对于游戏行业来说,2023年将是压力依旧的一年,但或许也是转型调优的希望之年。 压力在于,互联网流量见顶,用户付费意愿降低,行业整体进入下行周期,彻底进入存量竞争时代。《2022年中国游戏产业报告》显示&a…

相机标定实战之双目标定

相机标定原理 文章目录 相机标定原理前言一、采集图像二、基于Matlab单双目标定流程采集棋盘图 三、基于OpenCV-Python双目标定流程检测棋盘格角点对角点进行亚像素精细化单目标定双目标定双目校正保存标定参数读取标定参数代码示例 参考 前言 相机标定可以说是计算机视觉/机器…

哪个公司的 CEO 不想拥有一个自己的数字克隆?

⚠️ FBI Warning:本文纯属作者自娱自乐,数字人的观点不代表 CEO 本人的观点,请大家不要上当受骗!! 哪个公司的 CEO 不想拥有一个自己的数字克隆? 想象🤔一下,如果 CEO 数字克隆上线…

python基础语法总结

1.打印输出 print(“Hello World”) 在许多大众的编程语言中,需要在每个语句的末尾添加分号,但Python并非如此。Python是一种简洁的编程语言,你不需要添加不必要的字符和语法。在Python中,一条语句结束于一行的结尾(方括号&…

找不到msvcp120dll,无法继续执行代码的修复方法

本教程操作系统:Windows系统、 msvcp120.dll是电脑文件中的dll文件(动态链接库文件)。如果计算机中丢失了某个dll文件,可能会导致某些软件和游戏等程序无法正常启动运行,并且导致电脑系统弹窗报错。 msvcp120.dll文件…

IDEA整合GO并创建module工程

IDEA整合Go 安装包环境配置idea配置并创建test mode 安装包 1.去官网下载对应还的安装包 官网下载地址 我选择下载的window 版本: 直接按照对应的目录,然后点击下一步 环境配置 1.配置go环境变量 在高级环境变量PAHT中添加安装包的**/bin 目录&…

mysql数据库的基础

mysql数据库 一、数据库的基本概念二、关系数据库三、SQL语句增改查删 四、natvicat for mysql软件 一、数据库的基本概念 数据(data) 描述事物的符号记录包括数字、文字、图形、图像、声音、档案记录等以“记录”形式按统一的格式进行存储 表&#x…

基于Java少儿编程网上报名系统设计与实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

sizeof 和 strlen !!!

定义 sizeof()是单目操作符,是可以求变量(类型)所占空间的大小,不在乎内存中存放的是什么,只在乎内存大小 strlen()是函数,是计算字符串的长度的 它从内存的某个位置(可以是字符串开头&#x…

进程管道:pipe调用

在看过高级的popen函数之后&#xff0c;我们再来看看底层的pipe函数。通过这个函数在两个程序之间传递数据不需要启动一个shell来解释请求的命令。它同时还提供了对读写数据的更多控制。pipe函数的原型如下所示&#xff1a; #include <unistd.h> int pipe(int pipefd[2])…

OS的事件机制-Event

Event在OSEK OS中&#xff0c;其实就是一个flag的作用&#xff0c;如果某个TASK执行了&#xff0c;就调用<SetEvent()>把flag就置起来&#xff0c;和这个task关联的另一个TASK也执行了&#xff0c;就可以把flag清掉<ClearEvent>&#xff0c;如果第一个TASK没有执行…

这才是你想了解的Redis

文章简介 redis作为一个基于内存的数据结构存储系统&#xff0c;由于它的灵活性和可拓展性强&#xff0c;在我们日常开发中经常被用作数据库、缓存或者消息代理。本文就从Redis的基本部署使用说到Redis的集群、锁和消息对列 Redis基本使用 一、安装 下载地址&#xff1a;htt…

mySql 储存过程 多个结果返回解析

当需要查询复杂的数据模型并返回多个结果集时&#xff0c;使用 MySQL 存储过程可以有效地优化性能。同时&#xff0c;在开发中使用 Mybatis 可以方便地调用 MySQL 存储过程并获取多个结果集。本文将介绍如何在 Mybatis 中调用 MySQL 存储过程&#xff0c;并获取多个结果集。 1、…