はじめてのtokyocabinet
mixiさんのエンジニアブログに載っていた
下記の記事に触発されてtokyocabinetを使ってみたのでその手順のメモ
オレオレ検索窓を設置しよう - mixi engineer blog
まずはインストールからしなくてはいけないので
ネットで調べてyumで必要なパッケージをインストール。
yum -y install bzip2-devel zlib-devel
次にtokyocabinetをwgetで拾ってきてinstall
僕が見たときは最新のバージョンが1.4.45だった。
参考:http://fallabs.com/tokyocabinet/
wget http://fallabs.com/tokyocabinet/tokyocabinet-1.4.45.tar.gz
tar xzvf tokyocabinet-1.4.45.tar.gz
cd tokyocabinet-1.4.45
./configure
make
make check
make install
無事インストールが完了!
tokyocabinetの起動、動いてるっぽい。
tctmgr version Tokyo Cabinet version 1.4.45 (908:1.0) for Linux Copyright (C) 2006-2010 Mikio Hirabayashi
あと、mixiのブログに載っていた手順でindexの作成
折角なのでクロール先はこのブログにしてみる。
ruby wgettsv -allow 'http://d\.hatena\.ne\.jp/yutadayo' \ -max 10000 'http://d.hatena.ne.jp/yutadayo/' > intra.tsv
10分くらいでクロールが完了。わりとかかったな。
コマンドを打ってインデックスの作成を試みる。
tctmgr importtsv tctsearch.tct intra.tsv tctmgr setindex -it qgram tctsearch.tct title tctmgr setindex -it qgram tctsearch.tct body
ここは数秒で完了。
検索UIもtokyocabinetに入っていたやつを使わせてもらった。
exampleディレクトリからコピーしてcgiが動くディレクトリに持ってくる。
exampleディレクトリでmakeしてできるtctsearch.cgi と tctsearch.tmplというファイルね。
先ほど作ったインデックスファイル(tctsearch.tct)も同じディレクトリに移動させておく。
cd tokyocabinet-1.4.45/example make cp tctsearch.cgi tctsearch.tmpl ~yutadayo/work/tokyocabinet mv ~yutadayo/tokyocabinet/tctsearch.tct ~yutadayo/work/tokyocabinet
ブラウザでtctsearch.cgiにアクセスしてみる!
.cgi You don't have permission to access /
怒られてしまた。。。
cgiの許可してなかった。
http.confに下記を追加してapacheを再起動
ScriptAlias /cgi-bin/ /home/yutadayo/work/tokyocabinet <Directory /home/yutadayo/work/tokyocabinet> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory>
もう一度アクセス!
動いた。
導入までは結構簡単でした。