章节目录:
一、Kibana-Dev Tools快速调试
- 欢迎页:
浏览器输入:
yourIp:5601
,访问搭建好的可视化工具Kibana
。
- 控制台:
二、_cat查询
2.1 接口请求
# 查看所有节点
GET /_cat/nodes
# 查看ES健康状况
GET /_cat/health
# 查看主节点信息
GET /_cat/master
# 查看所有索引(相当于mysql的SHOW DATABASES;)
GET /_cat/indices
2.2 查询结果
三、文档基本操作
文档操作即数据操作,是指将数据保存在指定索引的类型下,进行增删改查。
3.1 新增文档
- PUT请求:
- POST请求:
- 两种方式异同:
POST
新增,如果不指定id会自动生成id。指定id就会修改这个数据,并新增版本号。PUT
可以新增也可以修改,但是PUT必须指定id;由于PUT需要指定id,我们一般用来做修改操作,不指定id会报错。
3.2 查看文档
- GET请求:
/index/type/id
3.3 更新文档
- POST请求:
/index/type/id/_update
- 查询更新结果:
- POST / PUT新增文档 与 POST_update进行文档修改 方式异同:
- 请求体的报文格式不同,
_update
方式要修改的数据要包裹在"doc"
键下。 _update
方式不会重复更新,数据已存在不会更新,版本号不会改变。另两种方式会重复更新(覆盖原来数据)版本号会改变。PUT请求带id
更新和POST请求带id
更新会直接覆盖原来的数据,不会在原来的属性里面新增属性。POST带id/_update更新
,不会覆盖原来的数据,可以向原来的数据中新增属性。
- 请求体的报文格式不同,
3.4 删除文档及索引
四、_bulk 批量操作
4.1 指定索引和类型的批量操作
-
语法说明:
-
{ 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"}
- 结果查看:
4.2 对所有索引执行批量操作
-
请求接口:
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"}}
- 结果查看:
五、结束语
“-------怕什么真理无穷,进一寸有一寸的欢喜。”
微信公众号搜索:饺子泡牛奶。