namazu-ml(avocado)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: robots.txt



木部@松下電工です。

> 最初のものは先日のパッチを当てたものに対する修正パッチ、二つ目は プレー
> ンな namazu-1.3.0.1 に対するパッチです。

現状のやり方だと、かなりメモリ消費が多くなるみたいですし、どうもインデックス化
に時間がかかってしまうようです。
確かに私の環境では、robots.txt で宣言しているディレクトリ内すべての
ファイル数が 4,000 もある特別な環境なのですが・・・。
インデックス化したいファイル数も 4,000くらいです。

そこで、國頭氏作成 patch を当てた後、下記のように mknmz.plを一部修正しました。

sub wanted ($){
  my ($name) = @_;
  unless ($RobotExcludeOpt && $name =~ m/$ROBOTS_EXCLUDE_URLS/i) { <---追加
    push(@FList, $name) if 
      ( (! /^(($DENY_FILE)(\.gz|\.Z)?)$/i) &&
       /^(($TARGET_FILE)(\.gz|\.Z|\?.*)?)$/i && -f $_ && -r $_);
  } <-- 追加
}

つまり、あまりメモリを消費しないように、@FList に robots.txt を直接考慮させ
るようにしました。

私の環境でのテスト結果(インデックス時間)ですが、

(1)robots.txt で宣言しているディレクトリを削除して
   インデックス化を行なった場合
        -----> 2229 sec

(2)國頭氏作成 patch を当てて、robots.txtを考慮させ
   てインデックス化を行なった場合
        -----> 3543 sec  or Out of Memoryで途中終了

(3)國頭氏作成 patch を当てて、robots.txtを考慮させ
   てインデックス化を行なった場合
   ("is excluded because of robots.txt."の画面表示を削除)
        -----> 3403 sec  or Out of Memoryで途中終了

(4)國頭氏作成 patch + 上記 mknmz.pl を一部修正して、
   robots.txtを考慮させてインデックス化を行なった場合
        -----> 2326 sec

という感じで、(1)と(4)で、さほど変わらない結果になりました。
robots.txt で宣言しているディレクトリ内のファイル数があまりにも多い
場合は、(4)の方法が良いようです。

*****************************************************
木部 泰樹(キベ タイキ)E-mail : kibe@xxxxxxxxxxxxx
松下電工株式会社
事業開発部   デジタルメディアシステムグループ
〒571-8686 大阪府門真市大字門真1048
TEL:06-903-3091 FAX:06-904-8225 MIC 7-711-4061
*****************************************************