開源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