智能建站制作/百度宁波运营中心
文章目录
- 一、ElasticSearch基本概念
- 1、索引(Index)
- 2、文档(Document)
- 3、分片和副本
- 4、映射(Mapping)
- 二、容器部署ElasticSearch集群
- 三、容器部署ElasticSearch伪集群
一、ElasticSearch基本概念
1、索引(Index)
在ElasticSearch中,索引是文档的集合,类似于关系数据库中的数据库,它是文档的主要存储单位,每个文档都属于一个索引。
1、创建索引:
PUT /index_name
2、查看索引:
GET /index_name
3、删除索引:
DELETE /index_name
2、文档(Document)
在Elasticsearch中,文档是存储在索引中的基本数据单元。每个文档都有一个唯一的 ID,并且是以 JSON 格式存储的,一个文档对应一条数据。
1、创建文档:
POST /index_name/_doc/2783862{"title": "实例文档","content": "实例文档的内容..."
}
- index_name:创建文档的索引,文档存放在索引中;
- _doc:是文档类型,通常用 _doc;
- 2783862:是文档的唯一 ID;
2、查看文档:
GET /index_name/_doc/2783862
这将返回包含文档内容的 JSON 响应,例如:
{"_index": "qinziteng666","_type": "_doc","_id": "2783862","_version": 1,"_seq_no": 3,"_primary_term": 1,"found": true,"_source": {"title": "实例文档","content": "实例文档的内容..."}
}
3、删除文档:
DELETE /index_name/_doc/2783862
4、查看索引中所有文档:
GET /index_name/_search
3、分片和副本
- 分片(Shard):索引可以分成多个分片,每个分片是一个独立的Lucene索引。分片允许在集群中分布和并行处理数据。
- 副本(Replica):每个分片可以有零个或多个副本。副本提供了数据的冗余备份和提高搜索性能的能力。
1、查看索引分片信息:
GET /_cat/shards/index_name?v
2、查看集群中所有索引的分片信息:
GET /_cat/shards?v
3、查看分片分配情况和状态:
GET /_cat/allocation?v
4、查看集群健康状态和分片情况:
GET /_cluster/health
5、查看集群中所有索引详细信息:
GET /_cluster/state
4、映射(Mapping)
映射定义了索引中每个字段的数据类型和属性。它类似于关系数据库中表的模式定义。
1、创建索引,并在请求体中定义索引的设置和映射
PUT /index_name
{"settings": {"number_of_shards": 3,"number_of_replicas": 2},"mappings": {"properties": {"title": { "type": "text" },"description": { "type": "text" },"created_at": { "type": "date" }}}
}
- settings:包含了索引的设置,例如分片数和副本数;
- mappings: 定义了索引中文档的结构,指定每个字段的类型和分析器等信息。
2、查看索引,返回索引的详细信息,包括设置、Mapping 和索引状态等。
GET /index_name
3、只查看映射:
GET /index_name/_mapping
4、更新映射
PUT /index_name/_mapping
{"properties": {"title": { "type": "text" },"tags": { "type": "keyword" },"views": { "type": "integer" }}
}
5、删除映射,直接删除索引即可
DELETE /index_name
二、容器部署ElasticSearch集群
1、环境信息:
IP地址 | ES节点 |
---|---|
16.32.15.115 | node1 |
16.32.15.200 | node2 |
16.32.15.201 | node3 |
2、compose信息如下:
node1
配置:
version: '3'
services:elasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:7.17.6container_name: elasticsearchrestart: on-failure:3network_mode: hostvolumes:- /home/software/elasticsearch/data:/usr/share/elasticsearch/data- /home/software/elasticsearch/plugins:/usr/share/elasticsearch/plugins- /home/software/elasticsearch/logs:/usr/share/elasticsearch/logs- /etc/localtime:/etc/localtime- /etc/sysctl.conf:/etc/sysctl.confenvironment:- node.name=node1- node.master=true- node.data=true- network.host=0.0.0.0- discovery.seed_hosts=16.32.15.115,16.32.15.200,16.32.15.201- cluster.initial_master_nodes=node1,node2,node3- cluster.name=es-cluster- ES_JAVA_OPTS=-Xms256m -Xmx256m
node2
配置:
version: '3'
services:elasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:7.17.6container_name: elasticsearchrestart: on-failure:3network_mode: hostvolumes:- /home/software/elasticsearch/data:/usr/share/elasticsearch/data- /home/software/elasticsearch/plugins:/usr/share/elasticsearch/plugins- /home/software/elasticsearch/logs:/usr/share/elasticsearch/logs- /etc/localtime:/etc/localtime- /etc/sysctl.conf:/etc/sysctl.confenvironment:- node.name=node2- node.master=true- node.data=true- network.host=0.0.0.0- discovery.seed_hosts=16.32.15.115,16.32.15.200,16.32.15.201- cluster.initial_master_nodes=node1,node2,node3- cluster.name=es-cluster- ES_JAVA_OPTS=-Xms256m -Xmx256m
node3
配置:
version: '3'
services:elasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch:7.17.6container_name: elasticsearchrestart: on-failure:3network_mode: hostvolumes:- /home/software/elasticsearch/data:/usr/share/elasticsearch/data- /home/software/elasticsearch/plugins:/usr/share/elasticsearch/plugins- /home/software/elasticsearch/logs:/usr/share/elasticsearch/logs- /etc/localtime:/etc/localtime- /etc/sysctl.conf:/etc/sysctl.confenvironment:- node.name=node2- node.master=true- node.data=true- network.host=0.0.0.0- discovery.seed_hosts=16.32.15.115,16.32.15.200,16.32.15.201- cluster.initial_master_nodes=node1,node2,node3- cluster.name=es-cluster- ES_JAVA_OPTS=-Xms256m -Xmx256m
注意:如果是已经运行很久的单节点升级为集群(保留单节点ES数据),需要删除这台单节点的几个文件,如下:
- data/nodes/0/_state/node-0.st
- 这个文件记录了特定节点(例如节点编号为 0 的节点)的状态信息和元数据。
- 包括节点的唯一标识符、IP 地址、端口号等基本信息。
- 集群配置信息,如节点所属的集群名称、集群的一些全局设置。
- 索引的元数据,包括映射(mapping)、分片(shard)的分配情况、每个分片所在的节点等。
- 分片的状态信息,如每个分片的健康状态、复制状态等。
- 路由表信息,记录了集群中每个索引分片的路由信息,用于数据的定位和检索。
- data/nodes/0/_state/manifest-0.st
- 这个文件是 Elasticsearch 的数据文件描述符(manifest)。
- 主要用于描述和管理索引和分片的元数据信息。
- 记录了每个索引的结构信息、分片的位置和状态、每个分片的文件列表等。
- 提供了索引数据的元信息,帮助 Elasticsearch 了解如何访问和处理索引数据。
三、容器部署ElasticSearch伪集群
PS:伪集群只在单台服务器中部署的ES集群,并没有分散开,当次服务器宕机后ES集群也就没了,生产环境建议走上面的分散到不通服务器的集群,如果只是测试,伪集群是很好的选择。
1、创建ES集群所需目录
mkdir /home/es/{node1/{data,plugins,logs},node2/{data,plugins,logs},node3/{data,plugins,logs}} -p
chmod -R 777 /home/es
2、创建docker-compose.yaml文件 并启动集群
version: '3'
services:es-node1:image: docker.elastic.co/elasticsearch/elasticsearch:7.17.6container_name: es-node1restart: on-failure:3volumes:- /home/es/node1/data:/usr/share/elasticsearch/data- /home/es/node1/plugins:/usr/share/elasticsearch/plugins- /home/es/node1/logs:/usr/share/elasticsearch/logs- /etc/sysctl.conf:/etc/sysctl.confenvironment:- node.name=es-node1- node.master=true- node.data=true- network.host=0.0.0.0- discovery.seed_hosts=es-node1,es-node2,es-node3- cluster.initial_master_nodes=es-node1,es-node2,es-node3- cluster.name=es-cluster- ES_JAVA_OPTS=-Xms256m -Xmx256mports:- 9200:9200es-node2:image: docker.elastic.co/elasticsearch/elasticsearch:7.17.6container_name: es-node2restart: on-failure:3volumes:- /home/es/node2/data:/usr/share/elasticsearch/data- /home/es/node2/plugins:/usr/share/elasticsearch/plugins- /home/es/node2/logs:/usr/share/elasticsearch/logs- /etc/sysctl.conf:/etc/sysctl.confenvironment:- node.name=es-node2- node.master=true- node.data=true- network.host=0.0.0.0- discovery.seed_hosts=es-node1,es-node2,es-node3- cluster.initial_master_nodes=es-node1,es-node2,es-node3- cluster.name=es-cluster- ES_JAVA_OPTS=-Xms256m -Xmx256mports:- 8200:9200es-node3:image: docker.elastic.co/elasticsearch/elasticsearch:7.17.6container_name: es-node3restart: on-failure:3volumes:- /home/es/node3/data:/usr/share/elasticsearch/data- /home/es/node3/plugins:/usr/share/elasticsearch/plugins- /home/es/node3/logs:/usr/share/elasticsearch/logs- /etc/sysctl.conf:/etc/sysctl.confenvironment:- node.name=es-node3- node.master=true- node.data=true- network.host=0.0.0.0- discovery.seed_hosts=es-node1,es-node2,es-node3- cluster.initial_master_nodes=es-node1,es-node2,es-node3- cluster.name=es-cluster- ES_JAVA_OPTS=-Xms256m -Xmx256mports:- 7200:9200
3、查看集群
curl http://localhost:9200/_cat/nodes
相关文章:

容器化部署ES集群
文章目录 一、ElasticSearch基本概念1、索引(Index)2、文档(Document)3、分片和副本4、映射(Mapping) 二、容器部署ElasticSearch集群三、容器部署ElasticSearch伪集群 一、ElasticSearch基本概念 1、索引(Index) 在ElasticSearch中,索引是文档的集合,类…...

使用排名前三的华为解锁工具来绕过忘记的华为锁屏密码
如果您在未使用“设置”应用的情况下将华为手机恢复出厂设置,同时启用了出厂重置保护 (FRP) 安全功能,您的华为设备将卡在帐户验证界面。您可以使用帐户凭据轻松绕过此锁定。但是,假设您无法回忆起旧的帐户信息。在这种情况下,您应…...

战神之父和前暴雪总裁都很期待《黑神话》:太酷想玩
近日《战神》之父David Jaffe在油管上发布视频,分享了他对《黑神话:悟空》的看法。他表示自己一直很关注这款游戏,该作的最终预告画面让他惊讶。而战斗部分更是让他大呼:“OMG”。 David Jaffe表示:“我必须要购买《黑…...

用户体验的优化:观测云在用户行为分析中的应用
在数字化商业环境中,用户体验的质量直接影响到品牌形象和客户忠诚度。观测云平台,作为一款专业的数据监控和分析工具,为企业提供了一个全面的解决方案,以深入分析用户行为并优化用户体验。 观测云的核心优势在于其能够实时处理和…...

ModelScope 部署 Flux 模型
Flux 文生图模型,是 Black Forest Labs 最近发布的模型,图片生成清晰度很高,模型可以在 ModelScope 上进行下载,本文将在本地环境中部署 Flex。使用环境如下 2080 TI 22GUbuntu 22Amd R7 2700 / 128G 启动 Model Scope 容器 Mo…...

ArkTs基础语法-声明式UI-基本概念
声明式UI语法 基本概念声明式UI描述创建组件无参数有参数 配置属性配置事件 配置子组件 基本概念 装饰器:用于装饰类、结构、方法及变量,并赋予其特殊的含义。 例如: Entry 有该装饰器的自定义组件,可以在UIAbility中使用…...

Day26 线程学习
线程相关知识总结 在多线程编程中,线程的管理和控制是非常重要的部分。本文将对线程的创建、取消、资源回收、竞争及顺序等方面进行详细总结。 一、线程的基本操作 pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*…...

eNSP 华为三层交换机实现VLAN间通信
华为三层交换机实现VLAN间通信 三层交换机: <Huawei>sys [Huawei]sys SW-3 [SW-3]vlan batch 10 20 [SW-3]int vlan 10 [SW-3-Vlanif10]ip address 192.168.10.254 24 [SW-3-Vlanif10]int vlan 20 [SW-3-Vlanif20]ip add 192.168.20.254 24 [SW-3-Vlanif20]in…...

【多模态大模型】LLaMA in arXiv 2023
一、引言 论文: LLaMA: Open and Efficient Foundation Language Models 作者: Meta AI 代码: LLaMA 特点: 该方法在Transformer的基础上增加了Pre-normalization (RMSNorm)、SwiGLU activation function (SwiGLU)、Rotary Embed…...

(转)java中restful接口和普通接口的区别
RESTful接口是一种遵循REST(Representational State Transfer)架构风格的网络接口,设计上更倾向于资源的表述,通过HTTP方法(如GET、POST、PUT、DELETE)直接操作资源,使得接口更简洁、易于理解和维护。 与普通接口相比…...

灵办AI免费ChatGPT4人工智能浏览器插件快速便捷(多功能)
灵办AI就是您所需的最佳助手!我们为您带来了一款多功能AI工具,不仅能为您提供精准翻译,还能满足您的对话需求、智能续写、AI搜索、文档阅读、代码生成与修正等多种需求。灵办 AI,真正让工作和学习变得轻松高效! 推荐使…...

VulnHub:BlueMoon
准备工作 靶机下载地址,下载完成后使用virtualbox打开虚拟机,网络设置修改为桥接。 信息收集 主机发现 攻击机ip:192.168.31.218,nmap扫描攻击机同网段存活主机。 nmap 192.168.31.0/24 -Pn -T4 目标靶机ip为:192…...

处理filter里抛出的异常
Filter 的异常是在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter()这里扔出来的。Filter是tomcat负责调用执行的,所以会比 servlet(尤其是SpringMVC 的dispatcherServlet )先执行,所以 Filter 里的错误&…...

IndexedDB深度解析:JavaScript的客户端数据库
IndexedDB是一个在用户浏览器中运行的低等级API,用于存储大量结构化数据。作为NoSQL数据库,IndexedDB为Web应用程序提供了丰富的数据存储能力,支持键值对存储、索引、事务和复杂查询等功能。本文将详细介绍IndexedDB的基本概念、工作原理、使…...

C语言中的函数指针和返回值为数组的函数指针对比
函数指针 //定义一个函数指针,函数的参数是int型,返回值为int typedef int (*func)(int);//定义一个函数指针,函数的参数是int*型,返回值为int* typedef int* (*func)(int *);定义一个返回值为数组指针的函数 //定义…...

根据字符串的长度和字符值的大小来对字符串切片进行排序
在 Go 语言中,根据字符串的长度和字符值的大小来对字符串切片进行排序。示例如下: package mainimport ("fmt""sort" )// 自定义类型,以实现排序接口 type byLengthAndValue []string// 实现 sort.Interface 的 Len 方法 func (s b…...

RabbitMQ 的工作原理
下面是rabbitmq 的工作原理图解 1、客户端连接到消息队列服务器,打开一个channel。 2、客户端声明一个exchange,并设置相关属性。 3、客户端声明一个queue,并设置相关属性。 4、客户端使用routing key, 在exchange和queue 之间…...

WPF 资源、引用命名空间格式、FrameworkElement、Binding、数据绑定
资源 对象级别独立文件 静态资源使用(StaticResource)指的是在程序载入内存时对资源的一次性使用,之后就不再去访问这个资源了。 动态资源使用(DynamicResource)使用指的是在程序运行过程中仍然会去访问资源。 显然,如果你确定…...

vue3-03-创建响应式数据的几种方法
响应式数据 一、 ref 创建:响应式数据1)ref 创建:基本类型的响应式数据2)ref 创建:对象类型的响应式数据3)volar 插件自动添加 .value4)customRef 自定义 ref 二、 reactive 创建:响…...

stm32智能颜色送餐小车(openmv二维码识别+颜色识别+oled显示)
大家好啊,我是情谊,今天我们来介绍一下我最近设计的stm32产品,我们在今年七月份的时候参加了光电设计大赛,我们小队使用的就是stm32的智能送餐小车,虽然止步于省赛,但是还是一次成长的经验吧,那…...

对接的广告平台越多,APP广告变现的收益越高?
无论是游戏、社交、工具应用类APP还是泛娱乐类APP,流量变现的方式主要有广告、内购、订阅三种方式。其中,广告变现是门槛最低、适用最广的变现方式。 只要APP有流量,就可以进行广告变现,让APP的流量快速转化为商业价值。作为最常…...

LINUX原始机安装JDK
文章目录 下载 JDK压缩包创建jdk文件夹sftp 远程上传解压缩 tar -zxvf 包名配置环境变量刷新 环境变量验证是否安装成功安装JAVA 依赖yum更新及替换镜像curl 命令下载更新更新yum依赖判断repo文件是否存在生成缓存、启用阿里云镜像 重新下载java依赖再次验证hello world 下载 J…...

MR400D工业级带网口4G DTU:RS232/RS485 TO LTE深度测评
在物联网技术日新月异的今天,数据传输的效率和稳定性成为了各行各业关注的焦点。作为一款集先进性与实用性于一身的物联网设备,工业级带网口的4G DTU(数据传输单元)以其强大的功能特性和广泛的应用场景,赢得了市场的广…...

第四范式发布AI+5G视频营销产品 助力精准获客与高效转化
产品上新 Product Release 今天,第四范式AI5G视频电话互动营销产品全新发布。 相较于以往销效率低、互动差、转化差的传统电话外呼和短信营销方式,视频电话互动营销基于AI、5G等技术,可让用户接听电话时观看个性化视频广告并实时互动…...

DVWA-IDS测试(特殊版本)
起因 浏览DVWA历史更新记录发现有版本带有IDS插件,可以用于平时没有相关设备等场景演示用,所以开启本次测试。 下载 官方最新版本是移除了IDS插件,原因是“从不使用”,所以需要下载移除该插件之前的版本。 https://github.com/…...

轻度自闭症的温柔启航:星启帆的康复之旅
在儿童成长的道路上,自闭症作为一种复杂的神经发展障碍,给许多家庭带来了挑战与困扰。轻度自闭症,作为自闭症谱系中的一个类型,其症状表现相对较轻,但同样需要我们的关注与科学的干预。星启帆自闭症儿童康复机构&#…...

一、OpenTK简介
文章目录 一、历史和发展二、功能和优势(一)强大的图形渲染功能(二)跨平台支持(三)与 C# 的紧密集成(四)开源和活跃的社区(五)性能优化三、适用场景(一)游戏开发(二)科学计算可视化(三)虚拟现实和增强现实应用(四)图形用户界面开发(五)教育和培训应用(六)…...

Dom4j详细介绍
Dom4j 1.1 解析概览 将数据存储为XML格式后,程序化地访问这些数据变得至关重要。虽然Java基础的IO操作能够实现这一目标,但这一过程往往既复杂又繁琐,尤其是在处理大型文件或需要频繁读写操作的场景下。为了解决这些问题,开发者…...

thissuper
this&super 一、 this this关键字表示调用的是当前类的成员变量或者成员方法 一般情况下,可以省略this关键字直接调用成员变量以及成员方法但当方法的形参与成员变量同名时,如果要在方法内使用成员变量,必须添加this关键字指明使用的是…...

cv::normalize()
cv::normalize()函数是OpenCV库中用于对矩阵或图像数据进行归一化处理的工具。归一化是图像处理和计算机视觉中常见的预处理步骤,它可以确保数据在一定范围内,从而有助于后续的处理和算法的稳定性和性能。cv::normalize()函数可以将输入矩阵的值缩放到一…...