Skip to content

Instantly share code, notes, and snippets.

@krote
Created April 16, 2014 08:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save krote/10834728 to your computer and use it in GitHub Desktop.
Save krote/10834728 to your computer and use it in GitHub Desktop.

kibana

elasticsearchをダウンロードする

基本的に展開して、

%ES_HOME%/bin/elasticsearch.bat

を実行すれば起動するようになる。

kibanaをダウンロードする

kibanaはただのWebアプリなのでTomcatのwebappsなどに突っ込んでおけば基本動く。 elasticsearchのポートを変更している場合はconfigを変更してあげる必要がある。

Oracleとつなげるためにelasticsearch-riverを入れる

URL:https://github.com/jprante/elasticsearch-river-jdbc

%ES_HOME%/bin/plugin.bat -install jdbc-river -url http://bit.ly/1jyXrR9
※elasticsearch 1.0の場合は上記。バージョンにあったものをインストールする必要があるので注意

OracleのJDBCドライバを%ES_HOME%/plugin/jdbc-river/配下に置く

ここまでやったらelasticsearchを起動する

Oracleのデータをインポートする

jdbc-riverをインストールしたときに与えられたURL(基本的にはポート9200番)にcurlでアクセスしてJDBC-riverを設定する。 riverの設定名はここでは"river_name"とする Oracleはlocalhost上のscott/tiggerに対しての接続。

curl -XPUT 'localhost:9200/_river/river_name/_meta' -d '{
	"type":"jdbc",
	"jdbc":{
		"url":"jdbc:oracle:thin:@localhost:1521:ORCL",
		"user":"scott",
		"password":"tigger",
		"sql":"select * from customer",
		"index":"test",
		"type":"customer"
	}
}'

curlの結果はこんな感じになる

{"_index":"_river","_type":"river_name","_id":"_meta","_version":1,"created":true}

実行はelasticsearch側のconsoleで確認。 river登録と同時に自動的に実行される。また、Elasticsearch起動時にも自動で実行される

type 変数に入れる値が、データタイプとなるので、データソースを識別するときはここを変更するといいかもしれない。

今回は、データを全件投入するようなSQLを書いてみたが、本来の使い方を考えると、直近1日とか期間を区切って抽出。 同じ間隔でスケジュールパラメータを指定して自動取り込みをしていく形になるだろう

jdbc-river設定を削除

curl -XDELETE 'localhost:9200/_river/river_name'

elasticsearch上のデータ削除

curl -XDELETE 'localhost:9200/test/customer/'
※index名を指定するかtype名までを指定する
*index名だけだと、indexそのものが削除される

Lucene

Kibanaで利用する検索用言語

現在時刻はnowで表現可能。

INQUIRY_DT:[now-1y TO now]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment