ElasticsearchはPure Javaの検索エンジン。
実は検索エンジンのベンダでテクニカルサポートをやっていたこともあり、検索エンジンの重要性は常日頃ひしひしと感じています。
恥ずかしながら勉強会に参加する当日までLuceneベースだと知らず。
Luceneベースの検索エンジン、Solrがあるにも関わらず後発で作っただけあって運用管理が楽そう。バイナリをダウンロードしてさくっと動いてしまいました。
話を聞きながらTwitter APIのsampleストリームをインデックスし続けるコードを書いてみました。
インデックスするだけで検索するコードは書けてない。スキーマ定義せずにサクサクっとインデックスできちゃうのはいいけどAPIはREST APIもJava APIもあんまり直感的ではなく(個人の感想です)、初期の学習コストはちょっとだけ高い感じ。ドキュメントが歯抜けというか、どこから読めば良いのこれ?みたいなところがあります。
REST APIがあるのはいいけどGETだけで簡単に検索できたらちょっとした確認もしやすいなーとか。
Elasticsearchは同名のElasticsearch社が開発からトレーニング、サポートまでやっているのでドキュメントを万全に整備するとトレーニングの需要が減るというジレンマもあるので本家サイトよりもコミュニティベースの情報を頼りにした方がいいのかも?
さくっと使えてスケーラブル、実績もあるということで良さそうなエンジンなんだけど、FAST SearchはよくできていたなーSole/Elasticsearchはいつ頃追いつくだろう?と感傷に浸っています。