3、Indices相关操作

原文地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-create-index.html

elasticsearch版本:6.5

目录地址:https://blog.youkuaiyun.com/mine_1/article/details/85623429

1、查看所有indices

GET /_cat/indices?v

 得到的响应:

health status index uuid pri rep docs.count docs.deleted store.size pri.store.size

没有具体的值,表示现在elasticsearch中还没有索引。

2、创建索引

创建一个名为“customer”的索引,并且再列出来:

PUT /customer?pretty
GET /_cat/indices?v

第一行命令是用PUT方法创建一个名为“customer”的索引。我们只需在调用的末尾附加pretty命令它可视化地打印JSON响应(如果有)

响应为:

health status index     uuid   pri rep docs.count docs.deleted store.size pri.store.size
yellow  open   customer 95SQ4   5   1       0          0           260b        260b

第二个命令的结果告诉我们,我们现在有1个名为customer的索引,它有5个主分片和1个副本(默认值),其中包含0个文档。

您可能还会注意到客户索引中有一个黄色的健康标签。回想一下我们之前的讨论,黄色意味着一些副本尚未分配。此索引发生这种情况的原因是,默认情况下,ElasticSearch为此索引创建了一个副本。因为目前只有一个节点在运行,所以在另一个节点加入集群之前,还不能分配一个副本(为了高可用性)。一旦该副本分配到第二个节点上,该索引的运行状况将变为绿色。

3、索引和查询文档

现在我们把一些东西放到客户索引中。我们将在客户索引中索引一个简单的客户文档,其ID为1,如下所示:

PUT /customer/_doc/1?pretty
{
    "name":"John Doe"
}

得到的响应为:

{
  "_index" : "customer",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 0,
  "_primary_term" : 1
}

从上面,我们可以看到在客户索引中成功地创建了一个新的客户文档。文档还有一个内部ID 1,我们在索引时指定了它。

需要注意的是,ElasticSearch并不要求您在索引文档之前先显式创建索引。在上一个示例中,如果客户索引之前不存在,那么ElasticSearch将自动创建该索引。

现在让我们检索刚才索引的文档:

GET /customer/_doc/1?pretty

得到的响应为:

{
  "_index" : "customer",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 1,
  "found" : true,
  "_source" : { "name": "John Doe" }
}

除了一个字段之外,这里没有发现任何异常的地方,说明我们找到了一个具有请求的ID 1的文档和另一个字段_source,它返回了我们从上一步索引的完整JSON文档。

4、删除索引

现在让我们删除刚才创建的索引:

DELETE /customer?pretty
GET /_cat/indices?v

得到的响应为:

health status index uuid pri rep docs.count docs.deleted store.size pri.store.size

这说明我们删除索引成功了,我们回到了没有索引的初始状态。

在我们继续之前,让我们再仔细看看我们迄今为止学到的一些API命令:

PUT /customer
PUT /customer/_doc/1
{
  "name": "John Doe"
}
GET /customer/_doc/1
DELETE /customer

如果我们仔细研究上述命令,我们实际上可以看到在ElasticSearch中如何访问数据的模式。这种模式可以概括如下:

<HTTP Verb> /<Index>/<Type>/<ID>

这种REST访问模式在所有API命令中都非常普遍,如果您能简单地记住它,那么您将在掌握ElasticSearch方面有一个很好的开端。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值