常规操作elasticSearch:

对于elasticSearch的操作 通常用rest API完成

查看所有节点:
GET:
192.168.31.125:9200/_cat/nodes

示例返回:

127.0.0.1 16 97 10 0.23 0.56 0.62 dilm * 6a850788e223
查看健康状态:
GET:
192.168.31.125:9200/_cat/health

示例返回:

1635298278 01:31:18 elasticsearch green 1 1 4 4 0 0 0 0 - 100.0%
查看主节点:
GET:
192.168.31.125:9200/_cat/master

示例返回:

LxbmZJweRySmiwKYs4eAHg 127.0.0.1 127.0.0.1 6a850788e223
查看所有索引(类比mysql查看所数据库):
GET:
192.168.31.125:9200/_cat/indices

示例返回:

green  open .kibana_task_manager_1       CS2sQjxhTmqK_iwwyI0X4Q 1 0    2 0  31.2kb  31.2kb
green  open kibana_sample_data_ecommerce mPzvtBuMQ3KmIWZs9mGlyQ 1 0 4675 0   4.7mb   4.7mb
green  open .apm-agent-configuration     HNEJe3GNSBipQlb-3_Ltow 1 0    0 0    283b    283b
green  open .kibana_1                    hIKbqbavQhKjvhM9znRc9A 1 0   54 1 943.2kb 943.2kb
yellow open customer                     -EYnoz-SQSyFAuXWL_4J5w 1 1    1 0   3.3kb   3.3kb
保存一条数据 put 保存:

注意:

put保存必须有id(唯一识别)

PUT:
192.168.31.125:9200/索引/类型/唯一识别
192.168.31.125:9200/customer/external/1
json参数:
{"name":"zxl"}

示例返回:

成功示例:
{"_index": "customer","_type": "external","_id": "1","_version": 5,"result": "updated","_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 9,"_primary_term": 1
}
不带唯一识别失败:
{"error": "Incorrect HTTP method for uri [/customer/external/] and method [PUT], allowed: [POST]","status": 405
}
保存一条数据 POST保存:

注意:

不带id(唯一识别) 新增(唯一识别自动生成)

带id(唯一识别) id已存在 更新

带id(唯一识别) id已存在 新增

POST:
192.168.31.125:9200/索引/类型/唯一识别
192.168.31.125:9200/customer/external/2
json参数:
{"name":"sss"}

示例返回:

成功示例:
{"_index": "customer","_type": "external","_id": "2","_version": 4,"result": "updated","_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 12,"_primary_term": 1
}
不带唯一识别成功实例:
{"_index": "customer","_type": "external","_id": "y7atv3wBC3_10cmr4V9N","_version": 1,"result": "created","_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 13,"_primary_term": 1
}
查看数据:
GET:
192.168.31.125:9200/索引/类型/唯一识别
192.168.31.125:9200/customer/external/1

示例返回:

成功示例:
{"_index": "customer","_type": "external","_id": "1","_version": 7,"_seq_no": 11,"_primary_term": 1,"found": true,"_source": {"name": "ooo"}
}

_seq_no 和 _primary_term 常用语存储数据并发时乐观锁操作 防止同时请求被多次修改

***乐观锁保存示例:
PUT:
192.168.31.125:9200/customer/external/1?if_seq_no=11&if_primary_term=1
json参数:
{"name":"yyds"}

示例返回:

第一次操作条件符合成功:
{"_index": "customer","_type": "external","_id": "1","_version": 8,"result": "updated","_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 14,"_primary_term": 1
}
继续点击提交 _seq_no发生变化 保存失败:
{"error": {"root_cause": [{"type": "version_conflict_engine_exception","reason": "[1]: version conflict, required seqNo [11], primary term [1]. current document has seqNo [14] and primary term [1]","index_uuid": "-EYnoz-SQSyFAuXWL_4J5w","shard": "0","index": "customer"}],"type": "version_conflict_engine_exception","reason": "[1]: version conflict, required seqNo [11], primary term [1]. current document has seqNo [14] and primary term [1]","index_uuid": "-EYnoz-SQSyFAuXWL_4J5w","shard": "0","index": "customer"},"status": 409
}
***POST的_update更新数据更新文档示例:
POST:
192.168.31.125:9200/customer/external/1/_update
json参数:
{"name":"yyds"}

POST更新文档指定 索引/类型/唯一识别/_update

json参数应该为:{“doc”:{“name”:“333”}}

数据参数项必须在json对象的doc内。

数据会对比原数据,如果数据相同, 数据不会有操作,并且返回result:noop。此时操作:版本号_version 操作序列号_seq_no 不变。

示例返回:

第一次操作条件符合成功:继续点击提交 保存:
{"_index": "customer","_type": "external","_id": "1","_version": 11,"result": "updated","_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 17,"_primary_term": 1
}
继续提交:
{"_index": "customer","_type": "external","_id": "1","_version": 11,"result": "noop","_shards": {"total": 0,"successful": 0,"failed": 0},"_seq_no": 17,"_primary_term": 1
}
只有POST带有_update参数,更新数据 数据才会对比原数据。

put和post不带有_udpate参数,都是更新数据。

如果增加唯一识别下数据的其他属性,直接带上添加保存即可。增加新属性 ,数据肯定变化,post带有udpate也是更新哦!

删除文档
DELETE请求:
192.168.31.125:9200/customer/external/1/

示例返回:

成功实例:
{"_index": "customer","_type": "external","_id": "1","_version": 14,"result": "deleted","_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 20,"_primary_term": 1
}
继续提交 删除不存在的主键文档:
{"_index": "customer","_type": "external","_id": "1","_version": 15,"result": "not_found","_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 21,"_primary_term": 1
}

删除文档后查找数据

get:
192.168.31.125:9200/customer/external/1/
实例:
{"_index": "customer","_type": "external","_id": "1","found": false
}

删除是可以针对索引 文档。没有直接删除类型的操作

删除索引
DELETE请求:
192.168.31.125:9200/customer/

示例返回:

成功实例:
{"acknowledged": true
}

删除索引后查找数据

get:
192.168.31.125:9200/customer/external/1/
实例:
{"error": {"root_cause": [{"type": "index_not_found_exception","reason": "no such index [customer]","resource.type": "index_expression","resource.id": "customer","index_uuid": "_na_","index": "customer"}],"type": "index_not_found_exception","reason": "no such index [customer]","resource.type": "index_expression","resource.id": "customer","index_uuid": "_na_","index": "customer"},"status": 404
}
批量导入数据:
POST:
192.168.31.125:9200/customer/external/_bulk

json参数语法:

{"index":{"_id":"1"}} 文档1的主键
{"name":"zhao"}       文档1的内容
{"index":{"_id":"2"}} 文档2的主键
{"name":"qian"}       文档2的主键

复杂批量实例:
POST /_bulk
{ "delete": { "_index": "website", "_type": "blog", "_id": "123" }}
{ "create": { "_index": "website", "_type": "blog", "_id": "123" }}
{ "title": "My first blog post" }
{ "index": { "_index": "website", "_type": "blog" }}
{ "title": "My second blog post" }
{ "update": { "_index": "website", "_type": "blog", "_id": "123"}}
{ "doc":{"title":"My updated blog post"} }

POST /_bulk
{ “delete”: { “_index”: “website”, “_type”: “blog”, “_id”: “123” }} 删除
{ “create”: { “_index”: “website”, “_type”: “blog”, “_id”: “123” }}创建
{ “title”: “My first blog post” } 创建的内容
{ “index”: { “_index”: “website”, “_type”: “blog” }} 插入
{ “title”: “My second blog post” } 插入的内容
{ “update”: { “_index”: “website”, “_type”: “blog”, “_id”: “123”}} 更新
{ “doc”:{“title”:“My updated blog post”} } 更新的内容

常规操作elasticSearch查看和索引(存储)数据相关推荐

  1. kibana操作elasticsearch:创建索引库

    PUT 索引库名 {"settings": {"number_of_shards": 3,"number_of_replicas": 2} ...

  2. 【Elasticsearch】java 操作 Elasticsearch 7.8 索引 文档 等操作

    本文为博主九师兄(QQ:541711153 欢迎来探讨技术)原创文章,未经允许博主不允许转载.有问题可以先私聊我,本人每天都在线,会帮助需要的人. 文章目录 1.概述 2. 案例 2.1 引入依赖 2 ...

  3. python elasticsearch模块_Python 操作 ElasticSearch

    Python操作ElasticSearch Python批量向ElasticSearch插入数据 Python 2的多进程不能序列化类方法, 所以改为函数的形式. 直接上代码: #!/usr/bin/ ...

  4. kibana 查看有多少索引库_干货 | Elasticsearch、Kibana数据导出实战

    1.问题引出 以下两个导出问题来自Elastic中文社区. 问题1.kibana怎么导出查询数据? 问题2:elasticsearch数据导出 就像数据库数据导出一样,elasticsearch可以么 ...

  5. elasticsearch 查看索引_ELK技术栈之ElasticSearch(一)

    ELK技术栈 之[ElasticSearch] 主要内容 什么是ElasticSearch Linux安装ElasticSearch 常用操作命令 分词器和标准化处理 ElasticSearch中的M ...

  6. 【elasticsearch】ES数据库重建索引 -- Reindex(数据迁移)

    1.应用背景: 1.当你的数据量过大,而你的索引最初创建的分片数量不足,导致数据入库较慢的情况,此时需要扩大分片的数量,此时可以尝试使用Reindex. 2.当数据的mapping需要修改,但是大量的 ...

  7. 大数据技术之_20_Elasticsearch学习_01_概述 + 快速入门 + Java API 操作 + 创建、删除索引 + 新建、搜索、更新删除文档 + 条件查询 + 映射操作

    大数据技术之_20_Elasticsearch学习_01 一 概述 1.1 什么是搜索? 1.2 如果用数据库做搜索会怎么样? 1.3 什么是全文检索和 Lucene? 1.4 什么是 Elastic ...

  8. ElasticSearch之HTTP索引操作和文档操作

    文章目录 1. 核心概念及数据格式 1.1 索引( Index) 1.2 类型( Type) 1.3 文档( Document) 1.4 字段( Field) 1.5 映射( Mapping) 1.6 ...

  9. 大数据技术之_20_Elasticsearch学习_01_概述 + 快速入门 + Java API 操作 + 创建、删除索引 + 新建、搜索、更新删除文档 + 条件查询 + 映射操作...

    一 概述1.1 什么是搜索?1.2 如果用数据库做搜索会怎么样?1.3 什么是全文检索和 Lucene?1.4 什么是 Elasticsearch?1.5 Elasticsearch 的适用场景1.6 ...

  10. mysql存储数据到cephfs_采用cephfs实现Elasticsearch数据持久化

    一.cephfs 参考了以下文章 在172.20.0.10上搭建了三节点ceph cluster 10.0.169.87         node1.cephfs-cluster (mons at { ...

最新文章

  1. 语义分割 - 数据集准备
  2. 区块链在银行业的应用
  3. Python笔记-假设检验之单样本T检验
  4. phpcms attachment.class.php路径,解决phpcms上传不了图片的方法
  5. [转载]linux 出现: Starting MySQL.Manager of pid-file quit without updating file.[FAILED] 已解决...
  6. python windows故障处理_python+windows automation windows有时会出现故障
  7. php生成11位不重复数字,php生成8位不重复字符串
  8. 分布式常见面试题详解
  9. 如何更高效的学习SLAM?
  10. 洛谷 P1338 末日的传说 解题报告
  11. excel怎么设置打印区域_彩色打印机怎么设置默认打印黑白色?
  12. DDSM+RetinaNet数据处理进展
  13. matlab如何使用源代码,rosenbrock函数的matlab源程序代码是怎么样的?
  14. 【题解】 小莫踩蘑菇
  15. 编程题目:使用C++语言模拟完成一个简单的计算机系统
  16. 牛逼!程序员给鸿星尔克写了一个720°全景看鞋展厅
  17. 关于如何在sublime text3中添加字体问题解决,保姆级教程
  18. python 报错:positional argument follows keyword argument
  19. xctf 100levels
  20. 【工具】1640- 这 5 款 AI 绘图工具,让你的绘图更高效!

热门文章

  1. 实现一个javascript手势库 -- base-gesture.js
  2. 寻宝游戏 HDU - 6289 (DP)
  3. TT 的旅行日记 Week7作业B题
  4. 搜狗拼音个性皮肤制作方法
  5. 【精品软件】鼠标右键菜单设置管理工具
  6. H3C交换机IPv6无状态地址自动配置
  7. 国产Si24R2F+2.4GHz超低功耗有源RFID无线发射芯片
  8. 我是一名自由职业白帽黑客
  9. SuperMemo UX 添加笔记 Ctrl+H
  10. Win10系统下向MS Word2019中添加NoteExpress插件