« 2004年11月04日 | メイン | 2004年11月06日 »
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)
※適当にかいたソースなので、参考程度にネ。
05:58 | コメント (2) | トラックバック | Programming
Googlebot がたくさんくる
CEEK.JP NEWS に Googlebot が大量に着てます。どれくらい着ているかというと、もうそれはすごい。
昨日の search.cgi へのアクセス数は、全体で 12389 でした。うち、クローラーである Googlebot のアクセス数は、なんと 9475 もありました。つーことは、検索の 76% が Googlebot なわけですよ。
何でこんなに多くなるか考えてみると、それはページ構造にあると思う。出来る限り、クリックだけでニュースを見れるようにしているので、リンクが多い。そのリンクを bot がたどるわけですな。検索エンジンに登録されるのはうれしいけど、若干負荷が高くなって、レスポンスが悪くなっている可能性が。
ちなみに、僕は Google News をほとんど使ったことがありません。だって、 CEEK.JP NEWS で足りるから。最新ニュースも見れるし、最近話題になっている事柄も Hot Keywords や Search Keywords をクリックすれば把握できるので。でも、平行して Yahoo! JAPAN のトピックスもみてます。どういう基準で掲載されているのか分からないけど、手軽にネタが拾えるから。 CEEK.JP NEWS にも、ランダムでいいからいくつかニュースをピックアップする機能をつけようかなぁ。と思ったり。
逆に CEEK.JP は、あまり使っていない。正直なところ。ツールバーのある Google の方が便利だし、すぐに結果が出るのも良い。通常の検索の 95% は、こっちで足りちゃう。残りの 5% を CEEK.JP で補うという感じ。使わないから、更新頻度が下がっているんじゃないですよ。きっと。
なんか、「ちなみに」以後が本題になっているような。とりあえず、最近 Googlebot が大量に着ているということで。んでもって、さっさと検索を Namazu にしろということで。うーむ。インデキシングする mknmz.pl を書き換える必要があるのでちょっと後回し。でも Perl で書かれているだけましかなぁ。まだ読める。
つか Namazu より MySQL の SELECT の方が遅くて負荷が高いという前提のもと検討しているわけですが、そうじゃなかったら最悪だ。そうでありますように。
この Namazu + MySQL については、複数の問い合わせがあったのですが、まだ実装できてません。いつ実装するかも分かりません。ごめんなさい。他にやっている人はいないのかなぁ?
03:31 | コメント (0) | トラックバック | Development
自炊ではない
東京に行くぞ。ということで、昨日(4日)の食事内容です。
夜は、広宣のミーティングという名のサイゼ。全体の反省会のお題決め。見たいな感じだったわけだが、結局、打ち上げの時に考えればいいんじゃね?というのでまとまる。そんなんでいいんか?まぁ。こんな感じだから、上手くまわっているのだろうけど。
サイゼリヤ (夜)
パスタ, フォッカチオ