Kibanaでフィルタリングをかけた際の検索クエリの取得方法

お世話になっております。
Kibanaのフィルタリングした際のクエリ取得について質問させていただきます。

** 実現したいこと**
ユーザーがKibanaダッシュボード上でフィルタリングしたクエリ式を取得したい。

ダッシュボード上で何かしらのvisualize→メニュー→inspect→ViewRequestsを見ると、
現在発行しているリクエストの

    "query": {
        "bool": { ・・・

このquery句以下を取得したいです。elasticsearchに今Kibanaで表示させているリクエストをJsonレスポンスなり、textなりで取得して別アプリケーションから再度このリクエストを投げて検索リクエストを使い色々処理をしたいという動機です。
ご教示いただけますと幸いです。

こんにちわ

ユーザが操作中のfilter情報を取得する方法は、ちょっと思いつきませんが
ダッシュボードに保存されているfilter条件であれば、KibanaのAPIを使うと取得できるかもしれません。

使うAPIはこちら
https://www.elastic.co/guide/en/kibana/master/saved-objects-api.html

  1. 既に対象のダッシュボードIDがわかっている場合は、Get Object、そうでなけれがFindの方を利用して、ダッシュボード情報を取得します。

Getの場合だと、このような感じになります。
http://localhost:5601/api/saved_objects/dashboard/edf84fe0-e1a0-11e7-b6d5-tekitounamoji

kibanaSavedObjectMetaの中にフィルタなどのクエリ情報が入っているため、今度はこの中身を見やすくします。

  1. kibanaSavedObjectMetaを確認する

jsonの中に文字列としてjsonが入っているため、\を外して見やすくしましたのが以下の図です。

filter > queryにダッシュボードに指定した条件が入っていることが確認できました。

同じようにダッシュボードだけでなく個々のVisualizationに保存されているfilter条件も、同じ方法で取得ができます。

お探しの内容とは異なるかもしれませんが、ご参考になれば幸いです。

1 Like

お早い返答ありがとうございます。
ダッシュボードに保存されているFilter情報であればGETできるのですね。
そちらのほうは参考にしつつ、もうチョット調べてみます><