美文网首页公众号:阿区先生
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