結論からいうと非常に便利。特に日常的にgrepしてるような人はすぐに入れるべし。 何がいいって環境構築が楽なので(おいらがrubyに慣れているというのもあるけど)
構築方法
今回はUbuntu10.04LTSにて構築。
Rubyはrvmを利用してインストールした。このrvmってのは、複数バージョンのrubyを共存させることができる方法。今回はRuby 1.8.7をインストール。milkodeをインストールする場合、利用するruby実装系、インストール方法、OS環境によってはハマりが発生するようだ。今回のUbuntu10.04&rvmでは、インストール時のハマりがなかった。
ちなみにruby enterprise editionを使ってインストールするとちょっとハマったりする(将来的なバージョンアップで解決されそう)
では最初にrvmとrubyのインストールから。rvmは以下の方法でインストールできる。インストールはホームディレクトリ以下にされる。
$ bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
$ echo '-s "$HOME/.rvm/scripts/rvm" ' && . "$HOME/.rvm/scripts/rvm" ' >> ~/.bash_profile
$ source .bash_profile
$ rvm install 1.8.7
これでrvm & rubyのインストールが完了。あとはmilkodeをインストール。milkodeはrubygemに登録されているので、一行でインストール可能。あと、milkodeは、grooga(全文検索ライブラリ)インストール時にビルドが発生する。なので、コンパイラ等はあらかじめインストールしておくこと。
$ apt-get install build-essential
そしてmilkodeをインストール
$ gem install milkode
あとは、milkodeを初期化して、ソースコードを追加して、ブラウザで表示
$ milk init --default
$ milk add
$ milk web
構築した結果が、以下のスクリーンショット。
使ってみて
私はrowboat(TIが提供するAndroidのソースコード)をインストールした。milkodeのWebサイトでは2万ファイルの検索では1秒以内に検索されるとと書いてあった。ただ、今回登録したrowboatは13万ファイルあったので、1秒以内というのは場合によって、としか言えない。
検索条件によっては、10秒以上待たされることも珍しくはない。で、検索速度はもちろんマシン環境にも依存するので(うちはCore i7 860 2.8GHz)、場合によってはそれ以上かかることもある。
とはいえ、milkodeは、grepよりは断然早いので、おすすめ。何より構築が手軽なのがよい。ガンガン利用するならOpenGrokを検討してみてもよいかもしれない。
シーアンドアール研究所
売り上げランキング: 22331