开源Elasticsearch提供了一系列RESTful风格的API,您可以通过curl命令或在Kibana、Postman中使用这些API。本文介绍如何通过Postman访问与管理Elasticsearch实例或Serverless应用。
前提条件
已创建Elasticsearch实例或Serverless应用,并开启实例公网地址。具体操作请参见创建阿里云Elasticsearch实例和创建Serverless应用。
说明已将安装Postman设备的IP地址添加到Elasticsearch实例或Serverless应用公网地址访问白名单中。具体操作,请参见配置Elasticsearch实例公网或私网访问白名单和配置Serverless应用公网访问白名单。
已安装Postman工具。
说明本文以Postman 10.16.9版本客户端为例,不同版本界面展示可能存在差异。
下载Postman,请参见下载Postman。
操作步骤
登录Postman控制台。
在左侧导航栏,单击New,选择Workspace,新建一个工作空间。
本文创建了一个名为
test-workspaces
的工作空间。添加一个环境,并切换到该环境。
在左侧导航栏,单击Environment,单击,输入环境名
aliyun_Environment
。在页面右上角选择环境
aliyun_Environment
。
说明关于环境的更多信息,请参见Managing environments。
创建一个名为
ES Collection
的集合。在左侧导航栏,单击Collections,单击,集合的名称修改为
ES Collection
。在ES Collection页面,单击Authorization页签,配置Authorization。
Type:选择Basic Auth。
Username:输入Elasticsearch实例的用户名
elastic
,或Serverless应用的用户名称,在应用详情页获取。Password:输入Elasticsearch实例或Serverless应用的用户密码。
创建一个名为
ES Request
的请求。将鼠标放在ES Collection上,在ES Collection右侧选择
,将请求的名称修改为ES Request
。在ES Request页面,单击Authorization页签,Type选择Basic Auth。
说明ES Collection下可以添加多个请求,您需要将每个请求中Authorization的Type设置为Basic Auth,Username和Password将自动从请求所在集合的Authorization配置中同步。
在ES Request页面,执行请求。
选择请求的方法:GET、POST、PUT等。
输入请求的URL:URL的格式为:
http://<ES实例或Serverless应用公网地址>:<公网端口>/<Path>/<Query Parameters>
。例如:
http://es-cn-pe33d****.public.elasticsearch.aliyuncs.com:9200/_cat/indices?v
和http://qing****-***.public.cn-hangzhou.es-serverless.aliyuncs.com:9200/_cat/indices?v
。(可选)输入请求体:单击Body页签,选择raw,格式选择
JSON
,在代码区域输入请求体。单击URL后的Send,执行请求。
说明更多操作,请参见Building requests。
管理实例的命令,请参见管理Elasticsearch的命令。
管理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
创建索引和文档
创建索引。
创建了一个名称为product_info的索引。
PUT http://xxxxx.public.xxxxx.aliyuncs.com:9200/product_info
为索引设置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"} } }
创建文档并插入数据。
创建单个文档。
在
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
索引中,创建名称为1
和2
的文档,并分别向文档中插入一条数据。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
操作时,每一行都需要换行,且最后一行需要为空行。
搜索文档
搜索名称为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