« Googlebot がたくさんくる | メイン | 秋葉原で食べたマック »

2004年11月05日

MySQL + Namazu の原始的手法

MySQL + Namazu の原始的手法ということで、一時ファイルを書き出す方法で実装してみた。この方法だと mknmz をいじる必要がなく、とっても楽チンに実装できる。

手順は、下記のような感じ。

1. MySQL の内容を SELECT で取得
2. 一時ディレクトリに PRIMARY KEY を基にしたファイルを作る
3. mknmz で一時ディレクトリの中をインデックス化

CEEK.JP NEWS の場合だと、ファイル名の基となる PRIMARY KEY は、ページの URL となっています。一時ファイルは、普通に HTML を出力するようにしました。出力の形式は、自分でフィルターを作成してそれにあわせるのも良いのではないかと思う。

何十万というファイルを一気に書き出しているので、結構負担がかかっているんじゃないかと思う。これが原因で HDD が逝ったら嫌だなぁ。そうならないことを、願う。つか、絶対になるなよ > MyHDD

スマートなのは、やはり SELECT の内容を、そのままインデックス化していくことだと思う。最終的には、そういう方向に持っていきたいのだけど、とりあえず一時ファイルに書き出す形で過去のニュース記事をインデックス化しています。

全部で60万記事もあるので、10月分の82447記事を Namazu に入れて遊ぼうと思う。めどがついたら、全ての過去記事をインデックス化します。最新の記事の取り扱いは、また後ほど考えよう。

MySQL to Namazu (Perl)
※適当にかいたソースなので、参考程度にネ。

2004年11月05日 05:58 | Programming

トラックバック

コメント

2004年10月の記事 (82447記事 / 81.3MB)

06:18 スタート
06:33 一時ファイル書き出し完了(インデキシングスタート)
08:00 終了

テストということで、削除された記事の除外などは行っておりません。設定もほぼデフォルトでやってます。
http://labs.ceek.jp/news/namazu.cgi

投稿者 ceekz : 2004年11月05日 08:23

Estraier の方がよさそうな気もしてきた。試してみよう。
http://estraier.sourceforge.net/spex-ja.html

投稿者 ceekz : 2004年11月05日 08:46