17
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

solr + banana 始め方

Last updated at Posted at 2014-12-15

昨今検索ログの可視化が流行っています。
ElasticsearchではElasticsearch+kibana(+fluentd)が注目されていますが、
Solrではそれに対抗するように、Solr + bananaというものが作られました。
模擬的なアクセスログを可視化すること目的にSolr + banana を簡単に説明したいと思います。

#Solr
solrは最新の4.10.2を使いました。
http://ftp.riken.jp/net/apache/lucene/solr/4.10.2/

#banana
bananaはここからダウンロード。
https://github.com/LucidWorks/banana
(->Download Zip)

#Java
jdkは1.8.0_25を使いました。

#Solr起動
パッケージを解凍後、Solrを起動します。

unzip solr-4.10.2.zip
cd solr-4.10.2/example/
java -jar start.jar

起動後下記アドレスでSolrを確認できます。
http://localhost:8983/solr/

#bananaの配置
Gitの説明通りにやってみます。
https://github.com/LucidWorks/banana

Gitからダウンロードしてきたものを解凍し、solrに配置します。

unzip banana-release.zip
mv banana-release solr-4.10.2/example/solr-webapp/webapp/

下記のアドレスで確認してみましょう。
http://localhost:8983/solr/banana-release/src/index.html#/dashboard

こんな感じに表示されます。
image

ちょこちょこ使ってみた感じ思ったのは

kibanaと(ほとんど)同じだ!
と思いました。(当たり前か。)

  • パネルの追加方法がkibanaと同じ。
  • Timepickerやテキスト表示などkibanaと同じ。

......などなど細かいところの使い方がkibanaと同じで取っ付きやすいです。

#ヒストグラムを使ってみる。
普段kibanaのヒストグラムパネルを使っているので、bananaのヒストグラムを使ってみたいと思います。

ドキュメント
下記のようなサンプルのドキュメントを入れてみます。
long型とdate型のフィールドを用意し、1秒ごとのランダムで数値を入れ、
模擬的に時間ごとのアクセス数を作成し可視化してみます。
(3600秒(doc分)=1時間分入れました)

docs.xml
<add>
<doc>
<field name="id">test-0001</field>
<field name="count_l">13</field>
<field name="date_dt">2014-12-13T10:00:01Z</field>
</doc>
<doc>
<field name="id">test-0002</field>
<field name="count_l">17</field>
<field name="date_dt">2014-12-13T10:00:02Z</field>
</doc>
.....

更新

curl 'http://localhost:8983/solr/collection1/update?indent=true' --data-binary @docs.xml -H 'Content-Type: text/xml'
curl 'http://localhost:8983/solr/collection1/update?indent=true' --data-binary '<commit />' -H 'Content-Type: text/xml'

Timepickerの設定
Timepickerウインドウで、Absoluteを選択し12(月)/13(日)/2014(年)19:00-20:00に設定します。(時差9時間のため。日本時間に合わせるのはちょっとまだわかってません。。。)
image

右上の右から3番目のconfigureボタンを押して日付フィールドを設定します。
Time Fieldをdate_dtにします。
image

Histogramの追加
別のrowでHistogramパネルを追加します。Timepickerと同じように右上の右から3番目のconfigureボタンを押して設定します。
Mode:values、Value Field:count_l、右下のinterval:1sにします。

image

こんな感じのヒストグラムができました。
image

(1秒間隔で表示してるためか草が生えてるようにしか見えないですね。)
ヒストグラムなので、折れ線グラフ、ドットグラフも使えます。
応用すればログをパースしてさまざまなデータを表示できるでしょう。

#感想
使ってみた感想ですが、
メリットとして

  • kibanaよりさくさく動くのがメリット。
  • 時間を広い時間にしても1秒間隔で表示できる。
    (kibanaは5分などいい感じの単位でまとめられてしまう。bananaも24時間などかなり広くすると線が細すぎて見えなくなってしまいますが、その都度調整必要。)
  • Solrを使ってる人には使いやすい。(当たり前ですが。。)

デメリットとして

  • インデックスが分けられない。(elasticの場合はその度ごとにインデックスが分けられていいですね。collectionを分ければいいのかな?)

ちょっと簡単にしかメリットデメリットあげられませんでした。

17
17
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
17
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?