LoginSignup
0
0

More than 1 year has passed since last update.

OpenSearch Dashboardsでpainlessを使って便利に分析する方法

Posted at

不便なところ

OpenSearch Dashboardsで分析したい時に加工して入れておけばよかったな!って時がよくある
例えば
fieldsが{name,created_at,xxx_count}でデータが入っている場合
xxx_count別にみたときに

0:102人
1:59人
2:20人
3:5人

と結果が返ってくる

この時「xxx_countが0の人と1以上の人で分析したい」としたら再インデックスすることになる。
これは不便なので
OpenSearch DashboardsのindexPatterns>Scripted fieldsに
fieldsを追加することで再インデックスすることなく分析ができる

image.png

if (doc['xxx_count'].value >0){
    return "1_or_more";
    
}else{
    return "zero";
    
}

こんな感じでpainlessで書くことができる。
あとは、Visualizeで使えるので自由に分析できる

時刻をJSTに変換して曜日にしたい

image.png

typeをstringにする


return doc['createdAt'].value.withZoneSameInstant(ZoneId.of('Asia/Tokyo')).dayOfWeek.getDisplayName(TextStyle.SHORT, Locale.JAPAN);

時刻をJSTに変換して時だけを取得

時刻毎カウントができる

return doc['createdAt'].value.withZoneSameInstant(ZoneId.of('Asia/Tokyo')).getHour();
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0