LoginSignup
2
2

More than 5 years have passed since last update.

Railsのデータを雑にelasticsearchで可視化する

Last updated at Posted at 2015-03-10

とにかく簡単にRailsのデータをelasticsearchで可視化したかったので、雑にRubyスクリプトを作成した。

RailsのSQLiteのデータを、curlで単純にelasticsearchに登録するだけ。
モデルのIDでXDELETEしてから、XPUTするので、一応最新のデータに更新される。

ちゃんとやりたい時は、例えば、rest-client使う等適宜修正して使う。

実は自分の支出をelasticsearchで手軽に多面的に見たかった。で、いちいちjson投げるのめんどいのでRailsからデータ登録できるようにしたかっただけ。完全に自分用のプロトタイプなので凝る必要なし。

example.rb
#coding: utf-8

require "active_record"

# データベースへの接続
ActiveRecord::Base.establish_connection(
  adapter:   'sqlite3',
  database:  'development.sqlite3'
)

# モデルを定義
class Item < ActiveRecord::Base
end

# モデルの全データ取得
item=Item.all

item.each{|i|

  # モデルを元にjsonを作成
  data="'{\"item_name\":\"#{i.item_name}\",\"@timestamp\":\"#{i.item_date.strftime("%Y-%m-%d")}\"}'"

  # elasticsearchのURL。IDはモデルのIDを使う。
  url="http://localhost:9200/hoge/fuga/#{i.id}"

  # elasticsearchの既存データを削除
  command="curl -XDELETE #{url}"
  `#{command}`

  # elasticsearchにモデルのデータを登録
  command="curl -XPUT #{url} -d #{data}"
  `#{command}

}
2
2
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
2
2