スポンサーリンク
ホーム»Kibana» 【Kibana】範囲計算

【Kibana】範囲計算

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

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

範囲を指定して、データを検索する方法です。

Kibana Discoverで指定

age(年齢)が20歳以上、30歳未満のデータを、Kibana Discoverで指定する方法です。

Search フィールドで、次のように指定します。


age >= 20 or age < 30

Kibana コンソールで指定

age(年齢)が20歳以上、30歳未満のデータを、Kibana コンソールで指定する方法です。
"bool"と"should"を使い記載します。


GET /indexA/_search
{
  "query": {
    "bool": {
      "must": [
        { "range": { "age": { "gte": "20", "lt": "30"} } }
      ]
    }
  }
}

rangeで指定する場合は、以下を使います。

lt: 未満
lte: 以下
gt: より大きい
gte: 以上

また、現在の時間を基準として計算する場合は、now を使います。

例えば、予約日(yoyaku_date)が、今日から1週間以内のデータを検索する場合は次のようにします。


GET /indexA/_search
{
  "query": {
    "bool": {
      "must": [
        { "range": { "yoyaku_date": { "lte": now+7d+9h} } }
      ]
    }
  }
}

ElasticSearchの仕様で、timezoneの自動変換ができないようです。9hを加算することで、日本時刻に合わせることができます。

Kibanaマニュアル(英語)

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