はじめに
FeedcellarというRSSフィードリーダーを作って運用しています。
開発を始めたのは2年半ほど前です。作り始めたきっかけは、当時使っていたGoogle Readerがサービス終了したことでした。移行するのも面倒だし、せっかくだから自分で作ってみようと思い立って開発を始めました。
今回は、どんな感じで作って運用しているかの概要を簡単にまとめてみます。
Feedcellar - full-text searchable RSS feed reader
Feedcellarの特徴
主な特徴は以下の2点です。
- Groonga - カラムストア機能付き全文検索エンジンを使っているので、高速な全文検索やドリルダウンが行えるため、フィードの絞り込みがしやすい
- オブジェクト指向スクリプト言語 Rubyを使っているので、開発が楽(主観)
使っているもの
- Groonga
- 最新版の5.0.9で動いている
- Ruby
-
Rroonga
- RubyからGroongaをライブラリとして使える
-
Sinatra
- Ruby製の軽量Webアプリケーションフレームワーク
-
Feedcellar
- Feedcellarの本体
- コマンドラインインターフェイスが付属している
- ライブラリとしても使える
-
feedcellar-web
- FeedcellarをWebアプリケーションとして動かせるようにしたパッケージ
運用の流れ
セットアップ
- feedcellar-webをVPSなどにcloneする
- 必要なライブラリをインストールする
- 2. インストール — Groonga v5.0.9ドキュメント
bundle install
- Sinatra(Rack)アプリケーションを好きなWebサーバーで起動する
フィード更新
- Feedcellarのコマンドでフィードを登録する
- OPMLに対応しているので、他のフィードリーダーからの移行も可能
- パースなどはRubyの標準添付ライブラリを使用
- cronなどで定期的にFeedcellarのコマンドを叩いて記事を取得する
- 再起動しなくてもリアルタイムで全文検索のインデックスに反映される(Groongaの機能)
デモ
全文検索に加えて、Webサイトや年月での絞り込み(ドリルダウン)ができます。
おわりに
自分でRSSフィードリーダーを作って運用している話を簡単にまとめてみました。機会があればもっと細かい話も書きたいと思います。
こんな感じの話が11/29(日)に開催されるGroonga Meatup 2015でたくさん聞けると思います。今からでも無料で参加できるので、興味がある方は気軽に参加してもらえるとうれしいです。
あ、あとGroonga Advent Calendar 2015というものもあるので、自分もGroongaの知見があるという方はぜひ共有してください。よろしくお願いします!