スポンサーリンク
ホーム»Kibana» 【Kibana】フィールド計算

【Kibana】フィールド計算

当サイトは、アフィリエイト広告を利用しています

Kibanaでデータ検索する機会があったので、備忘録として残します。

フィールド値を使って計算、検索する方法です。

Kibana Discoverで指定

Discoverで指定する場合は、「+Add Filter」で下記のDSLを指定することで検索できます。

Kibana コンソールで指定

親の年齢(parentage)と子の年齢(childage)の差が30歳以上であるデータを検索する場合に、Kibana コンソールで指定する方法です。
計算をする場合は、Script queryを使います。


GET /indexA/_search
{
  "query": {
    "bool": {
      "filter": {
        "script": {
          "lang": "painless",
          "source": "doc[parentage].value - doc[childage].value" >= 30"
        }
      }
    }
  }
}

親の年齢(parentage)と子の年齢(childage)の差が30歳以上かつ40歳未満であるデータを検索する場合は次のように書きます。


GET /indexA/_search
{
  "query": {
    "bool": {
      "filter": {
        "script": {
          "lang": "painless",
          "source": "doc[parentage].value - doc[childage].value" >= 30 && doc[parentage].value - doc[childage].value" < 40"
        }
      }
    }
  }
}

scriptを使って複雑な計算や処理を記載することができます。

Kibanaマニュアル(英語)

Script query | Elasticsearch Guide [8.15] | Elastic
タイトルとURLをコピーしました