ES学习之集群API
1、查看集群信息:GET /_cat/health?v
2、列出所有指标:GET /_cat/indices?v
,这里我们先创建一个索引看看查询效果
创建索引:
查看指标:
5个分片,1个副本,文档数0…
3、创建索引:
这里健康状态是yellow的原因是,默认分片5个,副本1个,但是这里是单节点的,所以没有其他节点加入集群。导致副本没有分配。 PUT /customer?pretty
GET /_cat/indices?v
4、索引文档:
现在让我们把一些东西放入我们的客户索引。但是要记住,为了索引一个文档,我们必须告诉Elasticsearch哪一种类型的索引应该去。
PUT /customer/external/1?pretty
{
"name": "John Doe",
"age": "18",
"sex": "man"
}
5、删除索引:DELETE /customer?pretty
,
6、替换数据:
如果_id
相同则覆盖,否则插入为新数据。
PUT /customer/external/1?pretty
{
"name": "John Doe",
"age": "18",
"sex": "man"
}
索引时,ID部分是可选的。如果未指定,Elasticsearch
将生成一个随机ID
,然后用它来索引文档。作为索引API
调用的一部分,将返回实际的ID Elasticsearch
生成(或我们在前面的示例中明确指定的内容)。
此示例显示如何在没有显式ID的情况下为文档建立索引:
7、更新文档:
除了能够索引和替换文档之外,我们还可以更新文档。但请注意
,Elasticsearch实际上并没有在原地进行就地更新。无论何时我们进行更新,Elasticsearch都会删除旧文档,然后用一次性应用更新索引新文档。
POST /customer/external/4/_update?pretty
{
"doc": {
"name": "wangzha",
"age": "18",
"sex": "man",
"address":"jiangsu"
}
}
8、删除文档:DELETE/customer/external/4?pretty
查看_delete_by_queryAPI
以删除与特定查询匹配的所有文档。值得注意的是,删除整个索引而不是使用Delete By Query API
删除所有文档会更有效率。
9、批处理:
除了能够索引,更新和删除单个文档之外,Elasticsearch
还提供了使用_bulkAPI
批量执行上述任何操作的功能。此功能非常重要,因为它提供了一种非常高效的机制
,尽可能快地完成多项操作,尽可能少的网络往返。
批量API不会因其中一个操作失败而失败。如果一个动作因任何原因失败,它将继续处理其后的其余动作。当批量API返回时,它将为每个操作提供一个状态(按照它发送的相同顺序),以便您可以检查特定操作是否失败。
批量索引两个文档:
批量更新一个文档,删除一个文档:
下一篇: Django实例