Elasticsearch curlコマンド基礎 REST API

2017年9月28日

前回(Elasticsearch5.6.1(最新版)インストール手順 tar.gz)でElasticsearchをインストールしましたが、今回はそのElasticsearchに使用するcurlコマンドの使い方についてご紹介していきます。

 

Elasticsearchバージョン

 

Elasticsearch curlコマンド基礎(REST API) 

 

1. Elasticsearchの情報取得

Elasticsearchでは、以下のようにHTTPのリクエストを送ることで、JSONの表記で情報を取得できます。

※JSONについては → JavaScript Object Notation – Wikipedia

 

2. クラスタのヘルスチェックができる

 

ちなみに、リクエストの最後についている「?pretty」の表記についてですが、

指定しない場合は通常改行が省略されたJSONオブジェクトを返します。

指定すると改行を入れてJSONが返されます。

 

3. クラスタとノードのシャットダウン

以前のバージョンでは、以下コマンドでクラスタや各ノードのシャットダウンができたのですが、どうやら、5.6からはなくなってしまったようです。

「curl -XPOST http://localhost:9200/_cluster/nodes/_shutdown」

「curl -XPOST http://localhost:9200/_cluster/nodes/[各ノードのID]/_shutdown」

 

Nodes shutdown

The _shutdown API has been removed. Instead, setup Elasticsearch to run as a service (see Install Elasticsearch with RPM, Install Elasticsearch with Debian Package, or Install Elasticsearch with Windows MSI Installer) or use the -p command line option to write the PID to a file.

Nodes shutdown  Elasticsearch Reference [5.6]  Elastic

 

4. ドキュメントの作成(PUT)

成功すると以下の出力のように「    “successful” : 1,」が表示されるかと思います。

 

PUTの場合は、ドキュメントID(ここでは、「1」)は省略できないので注意。

省略した場合は以下のようなエラーになります。

 

5. ドキュメントの作成(POST)

POSTの場合は、ドキュメントIDを省略できます。

省略するとIDが自動的に生成されます。( ここでは、id は “AV7EOwllskDC3tOpZR4k”で自動生成されている)

 

6. ドキュメントの取得

項番4のPUTで作ったやつを取得。

 

項番5のPOSTで作ったやつを取得。

 

 

7. ドキュメントの更新

ドキュメントの置き換え

リクエストを「_update」として、「ctx._source.[置き換えたいフィールドを指定]」のようにします。

 

ドキュメントの追記

「ctx._source.content」の部分を「=」ではなく「+=」とすると追記することができます。

 

8. ドキュメントの削除

「-XDELETE」を使って削除します。

削除後、「GET」した結果が「”found” : false」になっているので、削除されたことがわかります。

 

 

お疲れ様でした。

次回以降は、ユーザ辞書やシノニム、プラグインを活用した方法をご紹介していきたいと思います。