IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> ElasticSearch7.6 索引操作学习 -> 正文阅读

[大数据]ElasticSearch7.6 索引操作学习

目录

一、Elasticsearch 的数据类型认识

二、操作文档

2.1、使用PUT请求方式一个索引及文档

2.2、使用GET方式获取索引的文档内容

2.3、 使用 PUT 来进行修改操作

2.4、使用POST+“_update”+"doc"进行部分索引内容更改

2.5、使用HEAD检查一个文档是否存在

2.6、?使用DELETE删除一个文档

2.7、使用HEAD检查一个索引是否存在?

2.8、使用DELETE删除一个索引

2.9、使用post+_bulk批处理命令


一、Elasticsearch 的数据类型认识

text:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 全文搜索字符串
keyword:? ? ? ? ? ? ? ? ? ? ? ? ? 用于精确字符串匹配和聚合
date 及 date_nanos:????????格式化为日期或数字日期的字符串
byte, short, integer, long: 整数类型
boolean:? ? ? ? ? ? ? ? ? ? ? ? ? 布尔类型
float,double,half_float:浮点数类型

二、操作文档

2.1、使用PUT请求方式一个索引及文档

提示:我这里是通过kibana操作面板展示,使用postman或浏览器也可以,操作的都是接口。

创建使用PUT请求方式操作:

PUT twitter/_doc/1
{
  "user": "GB",
  "uid": 1,
  "city": "Beijing",
  "province": "Beijing",
  "country": "China"
}

url路径解释:“twitter”就是要创建的索引名,“_doc”就是要创建的索引类型,“1”是索引的唯一标识。

节点说明
index索引名称
type索引的类型
id文档的唯一标识

操作效果截图:

2.2、使用GET方式获取索引的文档内容

?使用GET方式获取索引的文档内容操作:

GET twitter/_doc/1

操作表达式的效果截图如下(注意:点击执行按钮前,鼠标的光标必须指定在要操作的地方,否则执行会出现“No requests in range”):

?1.2.1、如果我们只想得到这个文档的 _source 部分,可以使用如下的命令格式。

使用Get方式获取索引指定的文档内容:

GET twitter/_doc/1/_source

2.3、 使用 PUT 来进行修改操作

注意:使用 PUT 的这个方法,每次修改一个文档时,我们需要把文档的每一项都要写出来。没写的代表是删除,会将旧的数据覆盖掉。

PUT twitter/_doc/1
{
   "user": "JB",
   "uid": 1,
   "city": "杭州",
   "province": "浙江",
   "country": "中国",
   "location":{
     "lat":"30.26667",
     "lon":"120.20000"
   }
}

操作截图:

再次使用GET查询结果截图:

2.4、使用POST+“_update”+"doc"进行部分索引内容更改

?我们使用 PUT 的这个方法,每次修改一个文档时,我们需要把文档的每一项都要写出来。这对于有些情况来说,并不方便,我们可以POST+“_update”+"doc"的组合来进行修改,如下:

?更新后的结果查询结果截图:

2.5、使用HEAD检查一个文档是否存在

使用head判断文档是否存在:

HEAD twitter/_doc/1

操作结果截图(返回200表示存在):

操作结果截图(返回404表示不存在):

2.6、?使用DELETE删除一个文档

使用delete删除一个文档:

DELETE twitter/_doc/1

操作结果截图:

2.7、使用HEAD检查一个索引是否存在?

?使用head检查一个索引是否存在:

HEAD twitter

执行效果截图(返回200表示存在,400不存在):

2.8、使用DELETE删除一个索引

使用delete删除索引:

DELETE twitter

?执行结果截图(返回knowledged:true表示删除成功):

2.9、使用post+_bulk批处理命令

对于大量的数据进行操作的话,单个添加显得比较慢,因此需要一个批量处理的命令给我们使用——_bulk?命令。

使用 bulk 命令操作批量操作:

POST _bulk
{ "index" : { "_index" : "twitter", "_id": 1} }
{ "user": "张三", "uid": 1, "city": "北京","province": "北京","country": "中国"}
{ "index" : { "_index" : "twitter", "_id": 2} }
{ "user": "李四", "uid": 2, "city": "上海","province": "上海","country": "中国"}
{ "index" : { "_index" : "twitter", "_id": 3} }
{ "user": "王五", "uid": 3, "city": "广州","province": "广州","country": "中国"}
{ "index" : { "_index" : "twitter", "_id": 4} }
{ "user": "赵六", "uid": 4, "city": "深证","province": "深证","country": "中国"}

注意:在输入批量命令时,我们需要特别的注意 千万不要添加除了换行以外的空格,否则会导致只操作了部分数据。

执行命令截图:

?注意点:bulk 指令是高效的,因为一个请求就可以处理很多个操作。在实际的使用中,我们必须注意的是:一个好的起点是批量处理1000到5,000个文档,总有效负载在 5MB 到 15MB 之间。如果我们的 payload 过大,那么可能会造成请求的失败。

批处理后使用post+_search查询索引:

POST twitter/_search

post+ _count 命令来查询索引数据条数:

POST twitter/_count

post+_bulk+delete批量删除命令的使用:

POST _bulk
{"delete":{"_index":"twitter", "_id":1}}
{"delete":{"_index":"twitter", "_id":2}}

post+_bulk+delete批量删除截图:

再次POST+_count查询数据条数据已经变成2:

post+_bulk+update批量更新命令的使用:

POST _bulk
{ "update" : { "_index" : "twitter", "_id": 3} }
{ "doc":{"user": "王五1", "uid": 3, "city": "广州1","province": "广州1","country": "中国"}}
{ "update" : { "_index" : "twitter", "_id": 4} }
{ "doc":{"user": "赵六1", "uid": 4, "city": "深圳1","province": "深圳","country": "中国"}}

post+_bulk+update执行结果截图:

?查询更新后的内容:

参考文章:https://elasticstack.blog.csdn.net/article/details/99481016

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-02 10:53:03  更:2021-08-02 10:53:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/22 9:27:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码