私がElasticsearchを知るために参考にしているサイト・書籍まとめ

@shoitoです。

12/1に、先日発表したElasticsearch勉強会の報告を公開しました。
[「niconicoの検索を支えるElasticsearch」と題して、第7回Elasticsearch勉強会で発表しました](http://ch.nicovideo.jp/dwango-engineer/blomaga/ar674946)

今回は、私がElasticsearchを知るために参考にしているサイトや書籍、フォローしているtwitterアカウントなどを紹介します。１つでも参考になればと。

## 書籍
まずは書籍を2冊紹介します。

**Elasticsearch: The Definitive Guide (英語)**
http://shop.oreilly.com/product/0636920028505.do
![es_df.gif](https://qiita-image-store.s3.amazonaws.com/0/1137/9fa79e23-81ee-9e9f-e8a9-15eb3d0e0180.gif "es_df.gif")

こちらは電子書籍がオライリーで発売されているのですが、オンラインでも無料で読むこともできます。
http://www.elastic.co/guide/en/elasticsearch/guide/current/index.html

タイトルに`The Definitive Guide`とあるだけあって、Elasticsearchを使う人には必読な内容が詰まっています。
運用でお悩みなら[administration, monitoring and deployment](http://www.elastic.co/guide/en/elasticsearch/guide/current/administration.html)以下がオススメ。

monitoring, production deployment, post-deploymentと章があり、プロダクション環境向けの設定やインデクシングパフォーマンスのTipsなど、他にも盛り沢山な内容になっています。

- important configuration changes - http://www.elastic.co/guide/en/elasticsearch/guide/current/_important_configuration_changes.html
- don’t touch these settings! - http://www.elastic.co/guide/en/elasticsearch/guide/current/_don_8217_t_touch_these_settings.html
- indexing performance tips - http://www.elastic.co/guide/en/elasticsearch/guide/current/indexing-performance.html

読書会とかあるとイイな(ﾎﾞｿｯ

~~**高速スケーラブル検索エンジン　ElasticSearch Server (日本語)**~~
http://www.amazon.co.jp/dp/B00J4KDYZU/
![es_book.jpeg](https://qiita-image-store.s3.amazonaws.com/0/1137/40b8d3ef-b7a0-8da2-2fdd-7c8c801fa92f.jpeg "es_book.jpeg")

~~日本語のElasticsearch本といえばコレ。~~ ← もう古いので公式ドキュメント見ましょう
~~タイトルがElasticSearchとSが大文字であるように対象としているバージョンは0.90.xのもので、若干内容が古くなってしまっている点はありますが、日本語でしっかりとまとめられた書籍は少なく貴重な本だと思います。~~

##毎日
twitterやはてなブックマークにはお世話になってます。

**twitter検索で`Elasticsearch`をwatch**
https://twitter.com/search?q=Elasticsearch

リアルタイムに情報をキャッチしたいときは、やはりtwitterをwatchしてます。
なお、ログ解析/可視化ツールとしての情報が多いので、検索用途の情報に絞り込みたい時は`-kibana`,`-logstash`,`-fluentd`でマイナス検索しています。

**本家アカウント**
https://twitter.com/elastic

リリースや公式ブログの更新など重要な情報はだいたいコチラをフォローしておけばキャッチアップできます。

**Shay Banonさん**
https://twitter.com/kimchy

英語圏のElasticsearchに関してツイート/RTしてくれてます。
Elasticsearchの作者。
ググっているとMLでの回答を見かけると思います。

**johtaniさん**
https://twitter.com/johtani

日本語のElasticsearchに関してツイート/RTしてくれてます。
Elasticsearch@Japanの中の人(英語アカウントもできた！)
[Elasticsearch勉強会](http://elasticsearch.doorkeeper.jp/)(過去7回開催)を主催してくださっています。

他にもフォローしておくと良いアカウントはありますが、まずはこれくらいに。
https://twitter.com/search?q=elasticsearch&src=typd&mode=users

**はてなブックマーク検索**
Elasticsearchをタグやタイトル、本文に含んでいる記事を調べてます。
最近、ブクマ多い記事どれかなーと。
(はてなブックマークのバックエンドも[Elasticsearchを使われてますよね](http://bookmark.hatenastaff.com/entry/2014/06/27/180000))
http://b.hatena.ne.jp/search/tag?safe=on&q=Elasticsearch

**Qiita "Elasticsearch"タグ**
http://qiita.com/tags/elasticsearch

このAdvent CalendarもQiitaですし、みんなが投稿しているElasticsearchタグの付いた記事で気になったものを読んでいます。

**Stack Overflow "Elasticsearch"タグ (英語)**
http://stackoverflow.com/questions/tagged/elasticsearch

さすがStack Overflow、だいぶ多くのナレッジが蓄積されています。
分からないことや問題に遭遇したときは、先人がいないか検索してみると良いと思います。
最近、日本語版のプライベートβページが公開されましたね。
ちなみに ja.stackoverflow.com ではElasticsearchについての質問はまだありません。

**Elasticsearch reference (英語)**
http://www.elastic.co/guide/en/elasticsearch/reference/index.html

Elasticsearchで何か探すときは、真っ先にリファレンスを参照します。
リファレンスは以下のように各バージョン毎に分けて公開されているので、運用しているバージョンのものなのか、次に使おうとしているバージョンのものなのか確認しておいた方が良いと思います。

- [Version: master](http://www.elastic.co/guide/en/elasticsearch/reference/master/index.html)
- [Version: 1.x](http://www.elastic.co/guide/en/elasticsearch/reference/1.x/index.html)
- [Version: 1.4 (current)](http://www.elastic.co/guide/en/elasticsearch/reference/current/index.html)
- [Version: 1.3](http://www.elastic.co/guide/en/elasticsearch/reference/1.3/index.html)
- [Version: 0.90](http://www.elastic.co/guide/en/elasticsearch/reference/0.90/index.html)

例えば、masterには[Benchmark](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-benchmark.html#search-benchmark)の項目があるのですが、これは1.4(current)ではまだないため404になります。
それに気付かずに「[Benchmark API](https://github.com/elastic/elasticsearch/pull/5406)がもう使えるのか！？リファレンスを見て試してみよう。」となって、試してみるものの1.4では動かないということになってしまい残念な気持ちになります(なりました...)。

##毎週
**Elastic Blog (英語)**
http://www.elastic.co/blog/

こちらで毎週水曜日に投稿される`This Week in Elastic`, `This Week in Elasticsearch`という記事はチェックします。
Abstractは以下のようになっています。

>Welcome to This Week in Elastic! In this weekly round up post, we bring you news on all aspects of the ELK Stack, including updates on Elasticsearch, Logstash and Kibana development, tips and tricks and upcoming events.

この1週間のElasticブランドに関する情報が紹介されています。
どんなコードがElasticsearchにマージされたのか。
Elasticsearchに関連した発表のスライド・ビデオ。
開催されるイベント情報など。

- 2014/12/03 -
http://www.elastic.co/blog/2014-12-03-this-week-in-elasticsearch/
- 2014/11/26 - http://www.elastic.co/blog/2014-11-26-this-week-in-elasticsearch/
- 2014/11/19 - http://www.elastic.co/blog/2014-11-1-this-week-in-elasticsearch/

**SlideShare**
http://www.slideshare.net/search/slideshow?q=Elasticsearch&ud=week&ft=presentations&lang=%2A%2A

どこかのイベントで最近Elasticsearchの発表がされてないだろうかと`Last 7 Days`で絞り込んで発表スライドを検索してます。

**Speaker Deck**
https://speakerdeck.com/search?q=Elasticsearch
https://speakerdeck.com/elastic

Elasticsearchをキーワードに発表スライドを検索してます。
しかし、SlideShareと違って検索に関して、ソートやフィルタ機能がないので、良い検索方法がないものか...。

##不定期
**@johtaniの日記 2nd (日本語)**
http://blog.johtani.info/

johtaniさんのブログです。
Elasticsearchの新バージョンのリリースがあると公式ブログのリリース記事の翻訳やAPIやプロダクトのHow to記事を公開してくれています。
twitterをフォローしておけば、記事を見逃すこともないと思います。

- Elasticsearch 1.4.1および1.3.6リリース（日本語訳） - http://blog.johtani.info/blog/2014/11/27/elasticsearch-1-4-1-released-ja/
- 第7回Elasticsearch勉強会を開催しました。#elasticsearchjp - http://blog.johtani.info/blog/2014/11/19/hold-on-7th-elasticsearch-jp/
- Validate APIの利用 - http://blog.johtani.info/blog/2014/10/27/how-to-use-validate-api/

**Foundation (英語)**
https://www.found.no/foundation/

Elasticsearch SaaSを提供しているFoundという会社なんですが、良質な記事を公開してくれています。
例えば、以下のような記事があります。

- Elasticsearch in Production - https://www.found.no/foundation/elasticsearch-in-production/
- Sizing Elasticsearch - https://www.found.no/foundation/sizing-elasticsearch/
- Elasticsearch from the Bottom Up, Part 1 - https://www.found.no/foundation/elasticsearch-from-the-bottom-up/
- Troubleshooting Elasticsearch searches, for Beginners - https://www.found.no/foundation/beginner-troubleshooting/

Elasticsearch SaaSといえば、日本ではナレッジワークス社が提供する[Siba(シーバ)](http://www.siba.tokyo/)がありますね。

**Hello! Elasticsearch (日本語)**
https://medium.com/hello-elasticsearch

日本語で素晴らしくまとめた技術ノートを公開してくれています。
Elasticsearchについてあまり詳しくないプロジェクトメンバーにはこちらの記事を拝借して説明してます。
感謝感謝です。

**elastic/elasticsearch Labels**
https://github.com/elastic/elasticsearch/labels

GithubリポジトリのIssues, Pull Requestsは良く見ると思いますが、次のリリースが待ち遠しいときはLabelsを良く見ます。
例えば「バージョン1.5.0がリリースされるのはいつ頃かな？あぁ、まだOpenなIssueが61個もある。まだ先かー。」
「お、1.4.0はBeta版リリースしてからのリリースか。水曜リリースが多いからそろそろかな。」とか思いながら眺めてます。

ちなみに、Githubリポジトリを`watching`にしてるんですが、活発過ぎるので通知欄は`unread`で埋もれてます...。
![github-labels.png](https://qiita-image-store.s3.amazonaws.com/0/1137/59d08d97-630b-713e-512f-8b522742a071.png "github-labels.png")

さらに、特定ラベルのオープンなIssueリストを見て「これはクリティカルじゃないから、次に見送られるかもなー。Benchmark APIはいつまで後回しに...」とか。
![github-issues.png](https://qiita-image-store.s3.amazonaws.com/0/1137/c92b5185-a48c-23be-80f9-4daaa05cdb27.png "github-issues.png")

## 新バージョンリリース時
新バージョンと運用中のバージョンの差分のリリースノートを熟読します。
例えば、1.3.4から1.4.1にアップグレードするのなら、途中の1.4.0 Beta1, 1.4.0と1.4.1のリリースノートの`breaking changes`の項目は忘れずにチェックしています。
(もちろん`new features`の項目も楽しみにチェックしています)
![bc.png](https://qiita-image-store.s3.amazonaws.com/0/1137/72b03be9-2698-8fd7-4d22-18d9c2cbd659.png "bc.png")

利用していた機能がdeprecatedになっていたり、消されたり、仕様に変更があったりするので、それらに対応し、しっかり検証してからアップグレードしましょう。

- http://www.elastic.co/downloads/1-4-0-beta1/
- http://www.elastic.co/downloads/1-4-0/
- http://www.elastic.co/downloads/1-4-1/

## 最後に
私が良く参考にしているサイト・書籍、他いろいろの紹介でした。
代表的なものだけでしたが、読んでくれた方のヒントになれば嬉しいです。

[Elasticsearch Advent Calendar](http://qiita.com/advent-calendar/2014/elasticsearch) 6日目は[reikubonaga](http://qiita.com/reikubonaga)さんがscoreについて書いてくれるようです。