通过Postman访问与管理Elasticsearch

开源Elasticsearch提供了一系列RESTful风格的API,您可以通过curl命令或在Kibana、Postman中使用这些API。本文介绍如何通过Postman访问与管理Elasticsearch实例或Serverless应用

前提条件

操作步骤

  1. 登录Postman控制台。

  2. 在左侧导航栏,单击New,选择Workspace,新建一个工作空间。

    本文创建了一个名为test-workspaces的工作空间。

  3. 添加一个环境,并切换到该环境。

    1. 在左侧导航栏,单击Environment,单击image.png,输入环境名aliyun_Environment

    2. 在页面右上角选择环境aliyun_Environment

    说明

    关于环境的更多信息,请参见Managing environments

  4. 创建一个名为ES Collection的集合。

    1. 在左侧导航栏,单击Collections,单击image.png,集合的名称修改为ES Collection

    2. ES Collection页面,单击Authorization页签,配置Authorization。

      • Type:选择Basic Auth。

      • Username:输入Elasticsearch实例的用户名elastic,或Serverless应用的用户名称,在应用详情页获取

      • Password:输入Elasticsearch实例或Serverless应用的用户密码。

  5. 创建一个名为ES Request的请求。

    • 将鼠标放在ES Collection上,在ES Collection右侧选择image.png > Add request,将请求的名称修改为ES Request

    • ES Request页面,单击Authorization页签,Type选择Basic Auth。

    说明

    ES Collection下可以添加多个请求,您需要将每个请求中Authorization的Type设置为Basic Auth,Username和Password将自动从请求所在集合的Authorization配置中同步。

  6. ES Request页面,执行请求。

    1. 选择请求的方法:GET、POST、PUT等。

    2. 输入请求的URL:URL的格式为:http://<ES实例或Serverless应用公网地址>:<公网端口>/<Path>/<Query Parameters>

      例如:http://es-cn-pe33d****.public.elasticsearch.aliyuncs.com:9200/_cat/indices?vhttp://qing****-***.public.cn-hangzhou.es-serverless.aliyuncs.com:9200/_cat/indices?v

    3. (可选)输入请求体:单击Body页签,选择raw,格式选择JSON,在代码区域输入请求体。

    4. 单击URL后的Send,执行请求。

    image.png
    说明

管理Elasticsearch的命令

以下介绍管理Elasticsearch的命令。更多命令,请参见Elasticsearch官方文档

查看Elasticsearch信息

  • 查看Elasticsearch实例健康状况。

    GET
    http://xxxxx.public.xxxxx.aliyuncs.com:9200/_cat/health?v
  • 查看Elasticsearch实例或Serverless应用中包含的索引信息。

    GET
    http://xxxxx.public.xxxxx.aliyuncs.com:9200/_cat/indices?v

创建索引和文档

  1. 创建索引。

    创建了一个名称为product_info的索引。

    PUT
    http://xxxxx.public.xxxxx.aliyuncs.com:9200/product_info
  2. 为索引设置mapping。

    PUT
    http://xxxxx.public.xxxxx.aliyuncs.com:9200/product_info/_mapping
    {
       "properties": {
           "productName": {"type": "text","analyzer": "ik_smart"},
           "annual_rate":{"type":"keyword"},
           "describe": {"type": "text","analyzer": "ik_smart"}
          }
    }
  3. 创建文档并插入数据。

    • 创建单个文档。

      product_info索引中,创建了一个名称为1的文档,并向文档中插入一条数据。

    • POST
      http://xxxxx.public.xxxxx.aliyuncs.com:9200/product_info/_doc/1
      {
      "productName":"testpro",
      "annual_rate":"3.22%",
      "describe":"testpro"
      }
    • 创建多个文档。

      product_info索引中,创建名称为12的文档,并分别向文档中插入一条数据。

      POST
      http://xxxxx.public.xxxxx.aliyuncs.com:9200/_bulk
      { "index" : { "_index": "product_info", "_id" : "1" } }
      {"productName":"testpro","annual_rate":"3.22%","describe":"testpro"}
      { "index" : { "_index": "product_info", "_id" : "2" } }
      {"productName":"testpro1","annual_rate":"3.26%","describe":"testpro"}
      

      在Postman中执行_bulk操作时,每一行都需要换行,且最后一行需要为空行。

      image.png

搜索文档

搜索名称为1的文档。

GET
http://xxxxx.public.xxxxx.aliyuncs.com:9200/product_info/_doc/1?pretty

删除索引

删除名称为product_info的索引。

DELETE
http://xxxxx.public.xxxxx.aliyuncs.com:9200/product_info