調べてみた感じだと以下のような用途で使用されている。
- 検索レスポンスの向上
- ログ解析・管理
- Webクローラとして使用
実践的な活用例としては以下の例が、素晴らしいと思う。
www.slideshare.net
www.slideshare.net
1)検索レスポンスの向上
RDBのインデックス対応などを施してみても
検索レスポンスが向上しない場合などに、使用されるケースが想定される。
RDBのVIEWから読み出したデータをElasticsearchに貯めて
検索させるとかすれば早くなりそう。
ただリアルタイムでRDBとElasticsearchのデータが同期するわけではないので
トランザクションデータなどリアルタイムで同じデータが検索したい場合などは
あまり不向きか。
あくまでもマスタデータなど余り変更が無いデータなどの検索などに向いていると思わる。
※リアルタイム性が特に必要のないのであれば、
同期のインターバルを10分〜30分にするなどすれば、ましになるか。。
このケースだと、WordPressとの連携も可能。
2)ログ解析・管理
アクセスログ、エラーログ、SQL系のログなど
色んなログを一箇所でまとめて管理し、グラフ化するといった用途で使用される。
ネットで情報を見る限り、Elasticsearchの利用例はこのケースが一番多い気がする。
3)Webクローラとして使用
以下のようなプラグインを使用することで
Elasticsearchを独立したクローラとして使用できる。
大量のデータをクロールし、検索レスポンスも早いので
通常のWeb技術で作るより、メリットがあると思われる。