当前位置: 首页 > news >正文

ElasticSearch入门

一、基本命令_cat

1、查看节点信息

http://192.168.101.132:9200/_cat/nodes

在这里插入图片描述

2、查看健康状况

http://192.168.101.132:9200/_cat/health

在这里插入图片描述

3、查看主节点的信息

http://192.168.101.132:9200/_cat/master

在这里插入图片描述

4、查看所有索引

http://192.168.101.132:9200/_cat/indices

在这里插入图片描述

二、索引一个文档(保存)

保存一个数据,保存在哪个索引的哪个类型下,指定用哪个唯一标识

PUT customer/external/1

在 customer 索引下的 external 类型下保存 1 号数据为

{ "name": "John Doe"
}

在这里插入图片描述
put是一个保存更新操作
在这里插入图片描述

PUT 和 POST 都可以,
POST 新增。如果不指定 id,会自动生成 id。指定 id 就会修改这个数据,并新增版本号
PUT 可以新增可以修改。PUT 必须指定 id;由于 PUT 需要指定 id,我们一般都用来做修改
操作,不指定 id 会报错。

三、查询文档

GET customer/external/1
结果:
{ "_index": "customer", //在哪个索引
"_type": "external", //在哪个类型
"_id": "1", //记录 id
"_version": 2, //版本号
"_seq_no": 1, //并发控制字段,每次更新就会+1,用来做乐观锁
"_primary_term": 1, //同上,主分片重新分配,如重启,就会变化
"found": true, "_source": { //真正的内容
"name": "John Doe"
}
}
更新携带 ?if_seq_no=0&if_primary_term=1

在这里插入图片描述

乐观锁用法:通过“if_seq_no=1&if_primary_term=1”,当序列号匹配的时候,才进行修改,否则不修改。

四、更新文档

POST customer/external/1/_update
{ "doc":{ "name": "John Doew"}
}
或者
POST customer/external/1
{"name": "John Doe2"
}

带_update和不带_update都可以更新,带_update的要用doc格式,区别是带_update如果更新内容和之前的一样,则不做任何更新,版本号也不变,而不带_update的则不管内容和之前相不相同都要更新版本号。

五、删除文档

删除记录

http://192.168.101.132:9200/customer/external/1

在这里插入图片描述
删除索引

http://192.168.101.132:9200/customer

注意:ES没有删除type的操作

六、ES的批量操作——bulk

实例1: 执行多条数据

POST /customer/external/_bulk
{"index":{"_id":"1"}}
{"name":"John Doe"}
{"index":{"_id":"2"}}
{"name":"John Doe"}

实例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"}}

实例3:测试数据

链接:

https://gitee.com/xlh_blog/common_content/blob/master/es%E6%B5%8B%E8%AF%95%E6%95%B0%E6%8D%AE.json

在这里插入图片描述

http://www.lryc.cn/news/153842.html

相关文章:

  • RocketMQ的Broker
  • 使用Puppeteer进行游戏数据可视化
  • 【Flask】from flask_sqlalchemy import SQLAlchemy报错
  • 索引简单概述(SQL)
  • union all 和 union 的区别,mysql union全连接查询
  • UDP和TCP的区别
  • 阿里云 MSE 助力开迈斯实现业务高增长背后带来的服务挑战
  • 消灭怪物的最大数量【力扣1921】
  • 数据结构之算法
  • MyBatis与MyBatis-Plus的分页以及转换
  • TCP/IP网络编程(二) 套接字协议及其数据传输特性
  • 在k8s中使用secret存储敏感数据与四种用法
  • 国产10米分辨率的卫星介绍、下载和处理教程
  • 解决SpringBoot项目war部署到tomcat下无法Nacos中注册服务问题
  • C++中的##、#符号含义
  • 探究Vue3中的Composition API:优化组件逻辑的新利器
  • Google Services Framework 谷歌服务框架的安装以及遇到的常见问题
  • 学习高级数据结构:探索平衡树与图的高级算法
  • centos7离线安装neo4j
  • 【黑马头条之项目部署_持续集成Jenkins】
  • 前端自动化部署,Devops,CI/CD
  • 22 元类技术(面向切片编程)|ORM的实现|抽象类与接口类
  • fuchsia系统介绍
  • 解决Jenkins执行Python脚本不能实时输出打印信息的问题
  • 2021年03月 C/C++(五级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 【微服务】服务发现和管理技术框架选型调研
  • 【核磁共振成像】观共享重建
  • 〔020〕Stable Diffusion 之 骨骼姿势 篇
  • 使用Python进行Base64编码和解码
  • MongoDB的数据恢复与备份