Jupyter notebookからElasticsearchを操作してみた
このブログはjupyter notebook Advent Calendar 2016の17日目のエントリーです。
概要
Jupyter notebookを使って
全文検索エンジンElasticsearchへのデータ投入や検索などをしてみたので
躓いたところや感動したところをポツポツ書きます
弱いエンジニアかつ、
Jupiter notebookは完全なる初心者ですので
ご了承ください。。。
環境
- ec2インスタンス立てて、0から構築します。
- ipadとiphoneで書きます。
jupyter notebookの環境構築
notebookの環境構築に関しては、
他の方の記事で出尽くしているようですし割愛します。
下記リンクの記事を参考にインストールしました。
AWS EC2でjupyter + opencv(Ipython notebook + opencv)
ipython notebook(jupyter)をリモートから使う
実際にやってみた
Elasticsearchのインストール
なにはともあれ、jupyter notebookで
elasticsearch環境を作ってみました。
こんな感じで↓最低限の環境を泥臭く作ります。
(本当はansibleとか使った方が色々スマートな感じがしますが。)
早速エラーが...
ぼけっとしていてショボいインスタンスを立てたので、メモリが足りなかったようです。
こういったエラーまで残せるのはnotebookのいいところですね()
気を取り直してElasticsearchのインストール
さっきまでzip落としていた癖に方針転換してrpmにしてるのに理由はありません。気分です。
Elasticsearchを起動して、
curlで起動確認します。ちゃんと応答が返って来ています。
Elasticsearchのpythonクライアントからドキュメント登録します。
docとしてjson形式のドキュメントを作成しています。
無事検索結果が返って来ました。
まとめ
このように、自分が踏んだ処理の流れを残しておける&共有できるのはとても便利だと感じました。
書きながら思いましたが、
Qiitaに書くよりもnotebook自体を公開してしまえばそれだけでいいような気もしました。。。
まだ初心者なので、全然使い倒せていないですが
色々な用途に使えそうです。
これからも積極的に使って行きたいです。