用elasticsearch将Rails的数据粗略可视化

由于想要以最简单的方式使用elasticsearch来可视化Rails的数据,所以我随便编写了一个Ruby脚本。

只需使用curl将Rails的SQLite数据简单地注册到elasticsearch中。
由于使用模型的ID进行XDELETE然后XPUT,所以确保数据被更新为最新的。

当我们想要认真做某件事时,例如,可以根据需要来修正和使用rest-client等工具。

实际上,我希望能够通过elasticsearch方便地多方面地查看我的支出。因此,我只是希望从Rails中能够方便地注册数据,而不必每次都发送JSON。这完全是为了自己的原型,不需要太过复杂。

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

}
广告
将在 10 秒后关闭
bannerAds