2019年01月26日

Node-RedからのElasticsearchデータ検索

Node-RedからElasticsearchのデータを取得する場合に
少し煩わしい点があったため備忘録として紹介します。

Node-Redに限らず、
Elasticsearchにデータ投入する場合はPostメソッドを使用します。

Elasticsearchに投入したデータを検索して取得する場合は
CurlコマンドやKibanaのコンソール画面からはGetメソッドですが...

公式のElasticsearhの検索APIの説明でもGETメソッドを使用しています。

一方、Node-Redから検索APIを使用する場合は
Getメソッドでは取得できませんでした。
Getメソッドを使用するとmatch_allコマンド同様の結果となり、
意図した検索がされず、投入データすべてがhitとなってしまいます。

Node-Red本家のIBMのサイトで検索APIをNode-Redから使用する際の方法について説明がありました。
「複数の検索条件を指定する場合はメソッドがPOST」を使用する

直観的にはGetメソッドですが、
Node-Redからの場合はPostメソッドの使用するのがポイントのようです。

実際にPostメソッドで検索APIを使用すると
意図した検索範囲の結果を返してきました。

同様にPostメソッドを使用します。


CurlコマンドやKibanaのコンソール画面ではGetメソッドで取得できるにも関わらず、
Node-Redからは取得できないため、Wiresharkで小一時間色々試行錯誤してしまいました。

posted by Crescent at 00:00| Comment(0) | ナレッジ | このブログの読者になる | 更新情報をチェックする