【Elasticsearch】Docker安装和基本概念

news2025/2/5 18:48:41

1. Docker安装ES

拉取es镜像

docker pull elasticsearch:8.5.3

创建网络

docker network create oj-network

启动es

docker run -d --name oj-es-dev -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" -e "discovery.type=single-node" -v D:\javacode\oj-byte\deploy\dev\elasticSearch\es-plugins:/usr/share/elasticsearch/plugins -e "xpack.security.enabled=false" --privileged --network oj-network -p 9200:9200 -p 9300:9300 elasticsearch:8.5.3

D:\javacode\oj-byte\deploy\dev\elasticSearch\es-plugins(你想要挂载的目录地址)

访问9200端口,验证启动是否成功

2. 安装Kibana

Kibana是ElasticSearch的数据可视化和实时分析的工具。通过Kibana,用户可以搜索、查看和与存储在Elasticsearch索引中的数据进行交互,执行高级数据分析,并通过各种图表、表格和地图将数据可视化。

2.1. 拉取Kibana镜像

docker pull kibana:8.5.3

2.2. 启动kibana容器

docker run -d --name oj-kibana-dev -e "ELASTICSEARCH_HOSTS=http://oj-es-dev:9200" -e "I18N_LOCALE=zh-CN" -p15601:5601 --net=oj-network kibana:8.5.3

3. ES数据模型中的基本概念

ES数据模型中有一些基本概念,了解这些概念后可以更好的使用ES。

3.1. 索引(index)

Elasticsearch中存储数据的逻辑单位,类似于关系型数据库中的表。

(类型type,原本是在索引(lndex)内进行的逻辑细分,但后来发现企业研发为了增强可阅读性和可维护性制订的规范约束,同一个索引下很少还会再使用type进行逻辑拆分(如同一个索引下既有订单数据又有评论数据),因而在6.0.0版本之后,此定义废弃。所以index的级别也就下降到表了)。

一个集群里可以定义多个索引,如客户信息索引、商品分类索引、商品索引、订单索引、评论索引等等,分别定义自己的数据结构。索引命名要求全部使用小写,建立索引、搜索、更新、删除操作都需要用到索引名称。

3.2. 文档(document)

索引中的基本数据单元,类似于关系型数据库中的一行数据。

一个文档是一个可被索引的基础信息单元,Document(文档)是JSON格式的,Document 就像是MySQL中某个 Table 里面每一行的数据,Document中可以包含多个字段,每个字段可以是文本、数字、日期等类型

3.3. 字段(field)

文档的属性,类似于关系型数据库中的列。 每个字段有一个名称和值,可以是简单值(如字符串、数字)或复杂值(如数组、对象)。

3.4. 映射(mapping)

定义索引的结构,包括字段名、字段类型(如textkeywordinteger)等。

Mapping是ES中的一个很重要的内容,它类似于传统关系型数据中table的schema(定义了数据库中的数据如何组织,包括表的结构、字段的数据类型、键的设置(如主键、外键)等),用于定义一个索引的数据的结构(mapping中主要包括字段名、字段数据类型和字段索引类型。)。在ES中,我们可以手动创建mapping,也可以采用默认创建方式。在默认配置下,ES可以根据插入的数据自动地创建mapping。

4. 感受基本的增删改查

进入开发者工具

在开发者工具中,我们可以在左侧编写相应的命令对es当中的数据进行操作,结果会呈现在右侧。

4.1. 增加数据

PUT /employee/_doc/1
{
 "first_name" : "John",
 "last_name" : "Smith",
 "age" : 25,
 "about" : "I love to go rock climbing",
 "interests": [ "sports", "music" ]
}
PUT /employee/_doc/2
{
 "first_name" : "Jane",
 "last_name" : "Smith",
 "age" : 32,
 "about" : "I like to collect rock albums",
 "interests": [ "music" ]
}
PUT /employee/_doc/3
{
 "first_name" : "Douglas",
 "last_name" : "Fir",
 "age" : 35,
 "about": "I like to build cabinets",
 "interests": [ "forestry" ]
}

代码就是向employee索引(index)中添加文档(document),每个文档有自己的id标识。

4.2. 查询

4.2.1. 根据id查询

GET /employee/_doc/2

4.2.2. 查询所有数据

GET /employee/_search

4.3. 删除

4.3.1. 删除某个数据

DELETE /employee/_doc/1

4.3.2. 删除索引

DELETE /employee

4.4. 修改

POST /employee/_update/3
{
"doc" : {
"last_name" : "mark"
}
}

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

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

相关文章

基于Java Springboot环境保护生活App且微信小程序

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 微信…

[SWPUCTF 2021 新生赛]gif好像有点大

[SWPUCTF 2021 新生赛]gif好像有点大 帧解一下 找到这个二维码用软件CQR解开一下 得到flag NSSCTF{The_G1F_ls_T00_b1g} [BJDCTF 2020]base?? 给了我们base64加密的密文 用python直接解密 import base64 dict{0: J, 1: K, 2: L, 3: M, 4: N, 5: O, 6: x, 7: y, 8: U, 9: …

Unity类银河战士恶魔城学习总结(P156 Audio Settings音频设置)

【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili 教程源地址:https://www.udemy.com/course/2d-rpg-alexdev/ 本章节实现了音频的大小设置与保存加载 音频管理器 UI_VolumeSlider.cs 定义了 UI_VolumeSlider 类,用于处理与音频设置相关的…

【Java从入门到放弃 之 类加载器】

类加载器 ClassLoader 类加载器动态加载类的两种方式类加载过程双亲委派模型特点类加载器层次结构 自定义类加载器总结 类加载器 类加载器负责将Java字节码文件(.class文件)动态加载到内存中,并将其转化为JVM可以执行的类对象。它是Java运行…

华为HarmonyOS 让应用快速拥有账号能力 -- 1 华为账号一键登录

概述 华为账号一键登录是基于OAuth 2.0协议标准和OpenID Connect协议标准构建的OAuth2.0 授权登录系统,应用可以通过华为账号一键登录能力方便地获取华为账号用户的身份标识和手机号,快速建立应用内的用户体系。 优势: 利用系统账号的安全…

高效数据分析:五款报表工具助力企业智能决策

概述 报表工具是企业进行数据分析、展示和决策支持的核心工具之一。本文将为大家介绍五款各具特色的报表工具,包括国产的山海鲸报表、FineReport,以及国际工具Databox、Pentaho Reporting和Zoho Analytics。通过详细分析它们的功能特点、优势和不足&…

生态环境一体化智慧监管平台

在数字化和智能化的浪潮中,生态环境保护与治理正迎来革命性的变化。生态环境一体化智慧监管平台的建设,不仅响应了这一趋势,而且为中国式现代化的生态治理提供了新的解决方案。本文将深度分析该平台的建设内容,探讨其在推动生态文…

基于PyTorch框架的线性回归实现指南

目录 ​编辑 1. 线性回归基础 2. PyTorch环境搭建 3. 数据准备 4. 定义线性回归模型 5. 损失函数和优化器 6. 训练模型 7. 评估模型 8. 结论 线性回归是统计学和机器学习中最基本的预测模型之一,它试图找到输入特征和输出结果之间的线性关系。在深度学习框…

重生之我在异世界学编程之C语言:深入指针篇(下)

大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 目录 题集(1)指针笔试题1&a…

【HarmonyOS】鸿蒙应用地理位置获取,地理名称获取

【HarmonyOS】鸿蒙应用地理位置获取,地理名称获取 一、前言 首先要理解地理专有名词,当我们从系统获取地理位置,一般会拿到地理坐标,是一串数字,并不是地理位置名称。例如 116.2305,33.568。 这些数字坐…

SimpleLive1.7.5 |适配手机和TV,聚合抖B虎鱼四大直播

SimpleLive是一款聚合多个直播平台的应用程序,内置虎牙、斗鱼、哔哩哔哩及抖音直播。提供无广告体验,支持弹幕显示调整、夜间模式切换等功能。用户无需登录即可关注不同平台的主播并查看其直播状态。 大小:14M 下载地址: 百度网…

泷羽sec:shell作业

⼀、⽤Shell写⼀个计算器 #!/bin/bash read -p "请输入表达式(格式为 操作数1 运算符 操作数2,如 5 3):" expression a1$(echo $expression | awk {print $1}) a2$(echo $expression | awk {print $2}) a3$(echo …

ETL工具观察:ETLCloud与MDM是什么关系?

一、什么是ETLCloud ETLCloud数据中台是一款高时效的数据集成平台,专注于解决大数据量和高合规要求环境下的数据集成需求。 工具特点 1.离线与实时集成:支持离线数据集成(ETL、ELT)和变更数据捕获(CDC)实…

轻NAS系统CasaOS设备安装小雅超集结合内网穿透实现自由访问海量资源

文章目录 前言1. 本地部署AList2. AList挂载网盘3. 部署小雅alist3.1 Token获取3.2 部署小雅3.3 挂载小雅alist到AList中 4. Cpolar内网穿透安装5. 创建公网地址6. 配置固定公网地址 前言 本文主要介绍如何在安装了轻NAS系统CasaOS的小主机中部署小雅AList,并使用A…

MATLAB 最小二乘点云拟合球 (89)

MATLAB 最小二乘点云拟合球 (89) 一、算法介绍二、算法实现1.代码2.结果这是缘,亦是最美的相见 一、算法介绍 球面拟合算法是一种通过数学方法将一组三维点(通常在三维空间中分布)拟合到一个理想的球形表面上。这个过程通常涉及使用最小二乘法来最小化实际数据点与拟合的…

【分页查询】.NET开源 ORM 框架 SqlSugar 系列

💥 .NET开源 ORM 框架 SqlSugar 系列 🎉🎉🎉 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列…

WebStorm快捷键保持跟Idea一致

修改连续行局部多选 在WebStorm中同时按下ctrl alt s; 选择KeyMap 输入Column Selection Mode选择快捷键, 右键选择Add Mouse Shortcut 按下alt 鼠标左键 如果出现占用的情况,直接删除其他使用该快捷键的地方即可; 修改跨行局部多选 在…

好书推荐《LangChain大模型AI应用开发实践》

Hi大家好,我是码银~ 今天我要给大家带来一本特别的书籍推荐——《LangChain大模型AI应用开发实践》。如果你对人工智能、自然语言处理或者正在寻找一种高效构建AI应用的方法,那么这本书绝对不容错过。 这本书是由哔哩哔哩知名UP主【老陈打码】&#xff0…

python使用openpyxl处理excel

文章目录 一、写在前面1、安装openpyxl2、认识excel窗口 二、基本使用1、打开excel2、获取sheet表格3、获取sheet表格 尺寸4、获取单元格数据5、获取区域单元格数据6、sheet.iter_rows()方法7、修改单元格的值8、向表格中插入行数据9、实战:合并多个excel 三、获取E…

Spire.PDF for .NET【页面设置】演示:旋放大 PDF 边距而不改变页面大小

PDF 页边距是正文内容和页面边缘之间的空白。与 Word 不同,PDF 文档中的页边距不易修改,因为 Adobe 不提供任何功能供用户自由操作页边距。但是,您可以更改页面缩放比例(放大/压缩内容)或裁剪页面以获得合适的页边距。…