- 一、Kibana-Dev Tools快速调试
- 二、_cat查询
- 2.1 接口请求
- 2.2 查询结果
- 三、文档基本操作
- 3.1 新增文档
- 3.2 查看文档
- 3.3 更新文档
- 3.4 删除文档及索引
- 四、_bulk 批量操作
- 4.1 指定索引和类型的批量操作
- 4.2 对所有索引执行批量操作
- 五、结束语
- 欢迎页:
浏览器输入:yourIp:5601,访问搭建好的可视化工具Kibana。
- 控制台:
# 查看所有节点 GET /_cat/nodes # 查看ES健康状况 GET /_cat/health # 查看主节点信息 GET /_cat/master # 查看所有索引(相当于mysql的SHOW DATABASES;) GET /_cat/indices2.2 查询结果 三、文档基本操作
3.1 新增文档文档操作即数据操作,是指将数据保存在指定索引的类型下,进行增删改查。
- PUT请求:
- POST请求:
- 两种方式异同:
- POST新增,如果不指定id会自动生成id。指定id就会修改这个数据,并新增版本号。
- PUT可以新增也可以修改,但是PUT必须指定id;由于PUT需要指定id,我们一般用来做修改操作,不指定id会报错。
- GET请求:/index/type/id
- POST请求:/index/type/id/_update
- 查询更新结果:
- POST / PUT新增文档 与 POST_update进行文档修改 方式异同:
- 请求体的报文格式不同,_update方式要修改的数据要包裹在 "doc" 键下。
- _update方式不会重复更新,数据已存在不会更新,版本号不会改变。另两种方式会重复更新(覆盖原来数据)版本号会改变。
- PUT请求带id更新和POST请求带id更新会直接覆盖原来的数据,不会在原来的属性里面新增属性。
- POST带id/_update更新,不会覆盖原来的数据,可以向原来的数据中新增属性。
-
语法说明:
-
{ action: { metadata }} 代表批量操作的类型,可以是新增、删除或修改。
-
n 是每行结尾必须填写的一个规范,每一行包括最后一行都要写,用于es的解析。
-
{ request body } 是请求body,增加和修改操作需要,删除操作则不需要。
-
-
语法格式:
// 使用场景:index保存记录,update更新等。
// 注意事项:不要格式化json,不然就不在同一行了,这个需要注意!
{action:{metadata}}n
{request body }n
{action:{metadata}}n
{request body }n
- 测试示例:
// POST /customer/external/_bulk
{"index":{"_id":"1"}}
{"name":"John Doe"}
{"index":{"_id":"2"}}
{"name":"John Doe"}
- 结果查看:
-
请求接口:POST /_bulk
-
说明:
- 这里的批量操作,当发生某一条执行发生失败时,其他的数据仍然能够接着执行,也就是说彼此之间是独立的。
- bulk api以此按顺序执行所有的action(动作)。如果一个单个的动作因任何原因失败,它将继续处理它后面剩余的动作。
- 当bulk api返回时,它将提供每个动作的状态(与发送的顺序相同),所以您可以检查是否一个指定的动作是否失败了。
-
测试示例:
// 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"}}
- 结果查看:
“-------怕什么真理无穷,进一寸有一寸的欢喜。”
微信公众号搜索:饺子泡牛奶。



