美文网首页公众号:阿区先生
Elasticsearch 使用 RESTful API 操作索

Elasticsearch 使用 RESTful API 操作索

作者: SheHuan | 来源:发表于2020-12-03 20:12 被阅读0次

之前我们已经了解了 ES 中一些比较重要的概念,也搭建好了使用 ES 所需的基础环境,那现在就可以开始使用 ES 了。

使用 ES 其实主要就是操作索引文档。接下来的问题就是如何去操作了,ES 提供了许多常见语言的支持,但这不是我们目前的重点,我们先看如何用 RESTful API 去操作 ES,我们选择 Kibana 来发送 RESTful 请求,当然你也可以使用其它工具。

操作索引相对简单些,也不会经常去修改索引。接下来我们先学习常用操作索引的 API。

1、创建索引

创建索引时只指定索引名,注意索引名是唯一的,不能包含大写字母

PUT user

通过 Elasticsearch head 工具可以看到创建的索引,以及其详细信息:


绿色方框数字表示索引的分片,点击可以查看分片信息。粗线框表示主分片,细线框表示副本分片


可以看到索引默认的分片和副本分片数量都是1,同时也没有文档字段的相关约束信息。

创建索引时我们也可以指定一些基本信息,例如分片数量:

PUT user
{
  "settings": {
    "index": {
      # 每个索引的主分片数
      "number_of_shards": 2,
      # 每个主分片对应的副本分片数
      "number_of_replicas": 1
    }
  }
}

当然你也可以使用 head 工具创建索引:


2、添加文档

有了索引,就可以向文档中添加一条文档数据了,这里使用默认的类型名_doc,1为文档id,不指定的话 ES 会给一个默认值:

POST /user/_doc/1
{
  "name": "马老师",
  "age": 30,
  "label": [
    "不讲武德",
    "耗子尾汁"
  ]
}

在 head 工具中以 JSON 格式查看数据:


关于文档的操作后边会详细介绍,这里仅仅是为了帮助学习索引的内容。

3、查看索引信息

前边使用了 head 工具查看索引信息,也可以使用如下 API:

GET user

在添加了一条文档数据后的索引信息如下:


4、修改索引

如下修改了索引禁止添加文档,允许读文档,即true表示禁止,false表示允许:

PUT user/_settings
{
  "blocks.write": true,
  "blocks.read": false
}

5、关闭、打开索引

# 关闭索引
POST user/_close
# 打开索引
POST user/_open

6、创建索引别名

如下为索引user创建了一个user_info别名,如果别名是唯一的,也可以用来代替索引名

POST /_aliases
{
  "actions": [
    {
      "add": {
        "index": "user",
        "alias": "user_alias"
      }
    }
  ]
}

add修改为remove表示移除别名。

7、删除索引

DELETE user

关于索引的操作就先介绍这么多吧,常用的操作也都可以在 head 工具中直接完成。

相关文章

网友评论

    本文标题:Elasticsearch 使用 RESTful API 操作索

    本文链接:https://www.haomeiwen.com/subject/ctnbbktx.html