とーますメモ

Ruby on Rails / Goなどの学習メモ

【Elasticsearch】活用例・用途について調べてみた

調べてみた感じだと以下のような用途で使用されている。

  1. 検索レスポンスの向上
  2. ログ解析・管理
  3. Webクローラとして使用


実践的な活用例としては以下の例が、素晴らしいと思う。

www.slideshare.net

www.slideshare.net


1)検索レスポンスの向上

RDBのインデックス対応などを施してみても
検索レスポンスが向上しない場合などに、使用されるケースが想定される。

RDBのVIEWから読み出したデータをElasticsearchに貯めて
検索させるとかすれば早くなりそう。

ただリアルタイムでRDBとElasticsearchのデータが同期するわけではないので
トランザクションデータなどリアルタイムで同じデータが検索したい場合などは
あまり不向きか。
あくまでもマスタデータなど余り変更が無いデータなどの検索などに向いていると思わる。
※リアルタイム性が特に必要のないのであれば、
同期のインターバルを10分〜30分にするなどすれば、ましになるか。。

このケースだと、WordPressとの連携も可能。

thoames.hatenadiary.jp

2)ログ解析・管理

アクセスログ、エラーログ、SQL系のログなど
色んなログを一箇所でまとめて管理し、グラフ化するといった用途で使用される。
ネットで情報を見る限り、Elasticsearchの利用例はこのケースが一番多い気がする。

3)Webクローラとして使用

以下のようなプラグインを使用することで
Elasticsearchを独立したクローラとして使用できる。
大量のデータをクロールし、検索レスポンスも早いので
通常のWeb技術で作るより、メリットがあると思われる。

github.com