es索引操作命令

索引操作 index

创建索引

put 方法创建索引

使用 put 创建索引时必须指明文档id,否则报错

# PUT 创建命令
# test1 索引名称
# type1 类型名称,默认为_doc,已经被废弃
# 1 文档id 
PUT /test1/type1/1
{"name":"zhangsan","age":18,"birth":"2000-01-20"
}

结果:

#! Deprecation: [types removal] Specifying types in document index requests is deprecated, use the typeless endpoints instead (/{index}/_doc/{id}, /{index}/_doc, or /{index}/_create/{id}).
{"_index" : "test1",     	// 索引"_type" : "type1",		// 类型"_id" : "1",				// id"_version" : 1,			// 版本"result" : "created",		// 操作类型"_shards" : {				// 分片信息"total" : 2,"successful" : 1,"failed" : 0},"_seq_no" : 0,"_primary_term" : 1
}

在这里插入图片描述

post 方法创建索引

post 如果没有指明文档id,会随机生成一个

POST /test2/type2
{"name":"zhangsan","age":18,"birth":"2000-01-20"
}

结果:

#! Deprecation: [types removal] Specifying types in document index requests is deprecated, use the typeless endpoints instead (/{index}/_doc/{id}, /{index}/_doc, or /{index}/_create/{id}).
{"_index" : "test2","_type" : "type2","_id" : "3D_WQY4BOf0ywiICmI8O","_version" : 1,"result" : "created","_shards" : {"total" : 2,"successful" : 1,"failed" : 0},"_seq_no" : 0,"_primary_term" : 1
}

对比 mysql :

PUT test1/type1/1 : 索引test1相当于关系型数据库的库,类型type1就相当于表 ,1 代表数据中的主键 id

这里需要补充的是 ,在 es5 版本前,一个索引下可以创建多个类型,但是在之后,一个索引只能对应一个类型,默认为 _doc,而 id 相当于关系型数据库的主键id若果不指定就会默认生成一个20位的uuid,属性相当关系型数据库的column(列)。

而结果中的 result 则是操作类型,现在是 created ,表示第一次创建。如果再次点击执行该命令那么 result 则会是 updated ,我们细心则会发现 _version 开始是1,现在你每点击一次就会增加一次。表示第几次更改。

查看索引信息

# get 索引名称
GET test1
{"test1" : {"aliases" : { },"mappings" : {"properties" : {"age" : {"type" : "long"},"birth" : {"type" : "date"},"name" : {"type" : "text","fields" : {"keyword" : {"type" : "keyword","ignore_above" : 256}}}}},"settings" : {"index" : {"creation_date" : "1710501416895","number_of_shards" : "1","number_of_replicas" : "1","uuid" : "hemDp4F3T5ePsAZmaO5Ijg","version" : {"created" : "7080099"},"provided_name" : "test1"}}}
}

可以看到 name、age、birth 字段指定了类型 text、long、date ,说明 es 会根据字段的值指定默认的类型

指定字段类型

如果想要自己指定字段的类型,使用映射

PUT /test3
{"mappings": {"properties": {"name":{"type": "text"},"age":{"type": "long"},"birth":{"type": "date"}}}
}

结果:

{"acknowledged" : true,"shards_acknowledged" : true,"index" : "test3"
}

映射数据是字段名:json 数据,上面只指定了type(数据类型),其实可以指定很多属性

  • type:数据类型,es 中支持的数据类型非常丰富,主要使用以下几个:
    • string 类型,又分两种:
      • text:可分词
      • keyword:不可分词,数据会作为完整字段进行匹配
    • Numerical:数值类型,分两类:
      • 基本数据类型:long、integer、short、byte、double、float、half_float
      • 浮点数的高精度类型:scaled_float
    • Date:日期类型
    • Array:数组类型
    • Object:对象
  • index:是否索引,默认为 true,所有字段都会被索引,被索引则可以用来搜索,没有则不可以
  • store:是否将数据进行独立存储,默认为 false,原始的文本会存储在 _source 里面,默认情况下其他提取出来的字段都不是独立存储的,是从 _source 里面提取出来的。当然你也可以独立的存储某个字段,只要设置 “store”: true 即可,获取独立存储的字段要比从 _source 中解析快得多,但是也会占用更多的空间,所以要根据实际业务需求来设置。
  • analyzer:分词器,这里的 ik_max_word 即使用 ik 分词器

查看索引映射

# get /索引名称/_mapping
GET /test3/_mapping

结果:

{"test3" : {"mappings" : {"properties" : {"age" : {"type" : "long"},"birth" : {"type" : "date"},"name" : {"type" : "text"}}}}
}

查看索引健康情况

GET _cat/indices?v

可以查看我们所有索引的状态健康情况,分片,数据储存大小等等。

在这里插入图片描述

删除索引

# delete 索引名称
DELETE test3

结果:

{"acknowledged" : true
}

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

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

相关文章

能不能绕过c去学c++?

目前做工程开发,基本都是c/c混着用的,c/c是同源的,c/是在c的基础上发展起来的,它们之间有些联系和区别: 区别: 1.可用库不同 c基本是系统底层语言,一般系统底层开发用c(例如&…

【leetcode】二叉树的前序遍历➕中序遍历➕后序遍历

大家好,我是苏貝,本篇博客带大家刷题,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 1. 二叉树的前序遍历2. 二叉树的中序遍历3. 二叉树的后序遍历 1. 二叉树的前序遍历 点击查看题目 根…

lv17 安防监控项目实战 3

代码目录 框架 our_storage 编译最终生成的目标文件obj 编译生成中间的.o文件 data_global.c 公共资源定义(使用在外extern即可)定义了锁定义了条件变量消息队列id、共享内存id、信号量id及key值发送短信、接收短信的号码向消息队列发送消息的函数&am…

Ollama部署本地大模型

ollama run gemma:2b "菊花为什么是红色的?" 如今 LLM 早已不再等同于昂贵的 GPU,而是可以在大部分消费级计算机上运行推理的应用了——俗称本地大模型。 Ollama 安装十分简单,macOS 直接在官网下载安装包打开运行;Wi…

华为汽车业务迎关键节点,长安深蓝加入HI模式,车BU预计今年扭亏

‍编辑 |HiEV 一年之前,同样是在电动汽车百人会的论坛上,余承东在外界对于华为和AITO的质疑声中,第一次公开阐释了华为选择走智选车模式的逻辑。 一年之后,伴随问界M7改款、问界M9上市,华为智选车模式的面貌已经发生了…

【Maven篇】解锁 Maven 的智慧:依赖冲突纷争下的版本调停者

缘起 软件开发世界是一个充满无限可能的领域,但同时也伴随着诸多挑战。其中之一,就是依赖冲突的问题。在这篇文章中,我们将揭开 Maven 这位“版本调停者”的神秘面纱,深入探讨如何在版本纠纷的盛宴中解决依赖问题。 Maven&#…

集成学习bagging与boosting

集成学习是机器学习中的一种策略,旨在结合多个学习器的预测结果,以提高总体性能,减少过拟合,增强模型的泛化能力。Boosting和Bagging是集成学习中两种非常著名的方法,它们虽然共享集成多个学习器以达到更好性能的共同目…

《建造者模式(极简c++)》

本文章属于专栏《设计模式(极简c版)》 继续上一篇《工厂模式(极简c)》。本章简要说明建造者模式。本文分为模式说明、本质思想、实践建议、代码示例四个部分。 模式说明: 方案:不同场景对类的构建有不同需…

python内置函数 L

python内置函数 L Python 解释器内置了很多函数和类型,任何时候都能使用。 L 名称描述len返回对象的长度。list返回一个新列表。locals返回一个字典,表示当前局部符号表。 len(s) 返回对象的长度(元素个数)。实参可以是序列&…

什么是docker(docker客户端、镜像、容器、仓库)

一、docker Docker 是一个开源的容器化平台,它可以让开发者打包应用程序及其依赖项成为一个轻量级、可移植的容器,然后在任何环境中运行。Docker 容器将应用程序及其依赖项打包到一个标准化单元中,包括代码、运行时环境、系统工具、系统库等…

RDP爆破

工具:超级弱口令检查工具 第一步:双击打开工具 第二步:导入账号 第三步:导入密码 第三步:线程 线程默认是50,如果担心影响业务可以修改为5 第四步:填写目标 第五步:选择需要检查的…

前端入职配置新电脑!!!

前端岗位入职第一天到底应该做些什么呢?又该怎样高效的认识、融入团队?并快速进入工作状态呢?这篇文章就来分享一下,希望对即将走向或初入前端职场的你,能够有所帮助。内含大量链接,欢迎点赞收藏&#xff0…

feigni请求添加拦截器

FeignClient 的 configuration 属性: Feign 注解 FeignClient 的 configuration 属性,可以对 feign 的请求进行配置。 包括配置Feign的Encoder、Decoder、 Interceptor 等。 feign 请求添加拦截器,也可以通过这个 configuration 属性 来指…

jenkins使用公共库问题

Jenkins解决上编译解决引用问题 本地运行 把公共库创建链接到指定项目目录下即可 mklink /d /j D:\codepath\xxxx\yyyyy\tool_base D:\codepath\tool_base

香港公司变更注册地址所需材料及流程全解析

香港公司变更注册地址:所需材料及流程全解析 各位老板好,我是经典世纪胡云帅,随着业务的拓展和发展,香港公司可能需要变更其注册地址。变更注册地址不仅关系到公司的日常运营,还与公司的法律地位和品牌形象息息相关。本…

python--剑指offer--题目目录-学习计划

第一天 09. 用两个栈实现队列30. 包含min函数的栈 第二天 06. 从尾到头打印链表24. 反转链表35. 复杂链表的复制 第三天 05. 替换空格58 - II. 左旋转字符串 第四天 03. 数组中重复的数字53 - I. 在排序数组中查找数字 I53 - II. 0~n-1中缺失的数字 第五天 04.…

git--协同开发

目录 1.本地常用命令 2.云端部署 1.本地常用命令 git init 初始化仓库 git status 显示当前工作区是否有未提交代码 git add (文件名) 提交文件到暂存区 git commit -m "提交说明" 提交文件到本地仓库 git log 显示当前分支上的日志记录 git reflog 显…

JS08-DOM节点

DOM节点 查找节点 父节点 通过.parentNode属性可以获得某个元素的父节点&#xff0c;并对其进行操作。例如&#xff0c;隐藏.son元素的父节点。 <div class"father"><div class"son">儿子</div></div><script>let son d…

cesium HeadingPitchRoll HeadingPitchRange

一、HeadingPitchRoll表示Heading、Pitch、Roll&#xff0c;用于orientation属性上的&#xff0c;比如camera的setView&#xff0c;flyTo var heading Cesium.Math.toRadians(0.0);var pitch Cesium.Math.toRadians(-25.0);var roll Cesium.Math.toRadians(0);viewer.camera…

PyTorch学习笔记之基础函数篇(六)

文章目录 4 运算函数基本数学运算线性代数运算随机数生成统计运算张量操作 4 运算函数 PyTorch 提供了丰富的运算函数&#xff0c;用于进行各种数学和矩阵操作。这些函数可以分为几个主要类别&#xff0c;包括基本数学运算、线性代数运算、随机数生成、统计运算、张量操作等。…