オープンソースの Elasticsearch は、さまざまな RESTful API を提供しています。 curl コマンドを実行してこれらの API を呼び出すか、Kibana または Postman でこれらの API を使用できます。このトピックでは、Postman を使用して Alibaba Cloud Elasticsearch クラスターにアクセスし、管理する方法について説明します。
前提条件
Postman がインストールされていること。
説明この例では、Postman 10.16.9 クライアントを使用しています。 Postman コンソールの GUI 要素は、Postman クライアントのバージョンによって異なる場合があります。
Postman をダウンロードするには、Postman のダウンロード にアクセスしてください。
Alibaba Cloud Elasticsearch クラスターが作成され、Elasticsearch クラスターに対してパブリックネットワークアクセス機能が有効になっており、Postman がインストールされているデバイスの IP アドレスが Elasticsearch クラスターのパブリック IP アドレスホワイトリストに追加されていること。
説明この例では、Elasticsearch V8.5.1 クラスターを使用しています。 Elasticsearch クラスターへのアクセスと管理に必要な操作は、Elasticsearch のバージョンによって異なる場合があります。
Elasticsearch クラスターの IP アドレスホワイトリストの設定方法については、Elasticsearch クラスターのパブリックまたはプライベート IP アドレスホワイトリストの設定 をご参照ください。
手順
Postman コンソールにログインします。
左側のナビゲーションペインで、[新規] をクリックし、[ワークスペース] を選択します。表示されるページで、[ワークスペースの作成] をクリックしてワークスペースを作成します。
この例では、
test-workspacesという名前のワークスペースが作成されます。環境を作成し、その環境に切り替えます。
左側のナビゲーションペインで、[環境] をクリックし、
アイコンをクリックして環境を作成します。この例では、aliyun_Environmentという名前の環境が作成されます。ページの右上隅で、
aliyun_Environment環境を選択します。
説明環境の詳細については、環境の管理 をご参照ください。
コレクションを作成します。左側のナビゲーションペインで、[コレクション] をクリックし、
アイコンをクリックします。 [新しいコレクション] フィールドに、コレクションの名前を入力します。この例では、ES Collectionという名前のコレクションが作成されます。[ES Collection] ページで、[認証] タブをクリックし、認証情報を設定します。
[タイプ]: [Basic 認証] を選択します。
[ユーザー名]: Elasticsearch クラスターのユーザー名である
elasticを入力します。[パスワード]: Elasticsearch クラスターのパスワードを入力します。
リクエストを作成します。ページの左側で、[ES Collection] をクリックします。次に、[リクエストを追加] をクリックします。 [新しいリクエスト] フィールドに、リクエストの名前を入力します。この例では、
ES Requestという名前のリクエストが作成されます。[ES Request] ページで、[認証] タブをクリックします。 [認証] タブで、[タイプ] パラメーターに [Basic 認証] を選択します。
説明コレクション内に複数のリクエストを作成できます。コレクション内に複数のリクエストを作成する場合は、各リクエストの [認証] タブで [タイプ] パラメーターに [Basic 認証] を選択する必要があります。
[ES Request] ページで、リクエストを実行します。
GET、POST、PUT などのリクエストメソッドを選択します。
http://<Elasticsearch クラスターのパブリックエンドポイント>:<パブリックポート>/<パス>/<クエリパラメーター>形式の URL を入力します。オプション。リクエストボディを入力します。 [本文] タブをクリックします。 [本文] タブで、[raw] を選択し、ドロップダウンリストから
JSONを選択します。コードエディターで、リクエストボディを入力します。入力した URL の横にある [送信] をクリックしてリクエストを実行します。
説明その他の操作については、リクエストの作成 をご参照ください。
Elasticsearch クラスターの管理に使用できるコマンドについては、Elasticsearch クラスターを管理するためのコマンド をご参照ください。
Elasticsearch クラスターを管理するためのコマンド
このセクションでは、Elasticsearch クラスターの管理に使用できるコマンドについて説明します。その他のコマンドについては、オープンソースの Elasticsearch ドキュメント をご参照ください。
クラスター情報の表示
Elasticsearch クラスターのヘルスステータスをクエリするには、次のコマンドを実行します。
GET http://es-xxxxx.public.elasticsearch.aliyuncs.com:9200/_cat/health?vElasticsearch クラスターのインデックスをクエリするには、次のコマンドを実行します。
GET http://es-xxxxx.public.elasticsearch.aliyuncs.com:9200/_cat/indices?v
インデックスとドキュメントの作成
インデックスを作成します。
product_info という名前のインデックスを作成するには、次のコマンドを実行します。
PUT http://es-xxxxx.public.elasticsearch.aliyuncs.com:9200/product_infoインデックスのマッピングを設定するには、次のコマンドを実行します。
PUT http://es-xxxxx.public.elasticsearch.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://es-xxxxx.public.elasticsearch.aliyuncs.com:9200/product_info/_doc/1 { "productName":"testpro", "annual_rate":"3.22%", "describe":"testpro" }複数のドキュメントを作成し、各ドキュメントにデータレコードを挿入します。
product_infoインデックスに1という名前のドキュメントと2という名前の別のドキュメントを作成し、各ドキュメントにデータレコードを挿入するには、次のコマンドを実行します。POST http://es-xxxxx.public.elasticsearch.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 コンソールで
bulkAPI を呼び出して複数のドキュメントにデータレコードを挿入する場合は、各ドキュメントにデータレコードを挿入するための各コード行の末尾に改行を使用し、コードブロック全体の最後の行が空であることを確認する必要があります。
ドキュメントの検索
1 という名前のドキュメントを検索するには、次のコマンドを実行します。
GET
http://es-xxxxx.public.elasticsearch.aliyuncs.com:9200/product_info/_doc/1?prettyインデックスの削除
product_info という名前のインデックスを削除するには、次のコマンドを実行します。
DELETE
http://es-xxxxx.public.elasticsearch.aliyuncs.com:9200/product_info