Namazu-devel-ja(旧)


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

mailnews.pl



 田中@東芝です。

 mailnews.plでmultipartの処理がうまく動いていないようです。添付のパッ
チ(if文の順序を入れ替えただけ)でそれなりに動作しているように見えます。

----<FROM 適用前>----------------------------------------------------
[Base]
Date:                Sat Feb 26 01:17:19 2000
Added Documents:     180
Size (bytes):        3,258,669
Total Documents:     180
Added Keywords:      112,894
Total Keywords:      112,894
Wakati:              module_kakasi -ieuc -oeuc -w
Time (sec):          292
File/Sec:            0.62
System:              MSWin32
Perl:                5.00503
Namazu:              2.0

  -rw-rw-rw-   1 toshiaki 123       4012112 Feb 26 01:17 NMZ.w
------------------------------------------------------------<END>----

----<FROM 適用後>----------------------------------------------------
[Base]
Date:                Sat Feb 26 01:11:37 2000
Added Documents:     185
Size (bytes):        9,525,471
Total Documents:     185
Added Keywords:      6,938
Total Keywords:      6,938
Wakati:              module_kakasi -ieuc -oeuc -w
Time (sec):          93
File/Sec:            1.99
System:              MSWin32
Perl:                5.00503
Namazu:              2.0

  -rw-rw-rw-   1 toshiaki 123         82017 Feb 26 01:11 NMZ.w
------------------------------------------------------------<END>----

 Documentの数が異なるのは、いくつかのファイルがサイズ上限に引っかか
らなくなったためだと思います。Keywordの激減も、diffしてみた限りでは
エンコードされた文字列(という表現でよいのでしょうか?)が登録されなく
なったのが主因のようです。

 ...とは言っても、これだけ変わってしまうと不安 (^^; なのでみなさんで
確認してもらえないでしょうか?
*** mailnews.pl~	Thu Feb 24 00:12:08 2000
--- mailnews.pl	Fri Feb 25 23:40:38 2000
***************
*** 110,125 ****
  
  	    my $weight = $conf::Weight{'html'}->{'title'};
  	    $$weighted_str .= "\x7f$weight\x7f$line\x7f/$weight\x7f\n";
- 	} elsif ($line =~ /^(\S+):\s(.*)/i) {
- 	    my $name = $1;
- 	    my $value = $2;
- 	    $fields->{lc($name)} = $value;
- 	    if ($name =~ /^($conf::REMAIN_HEADER)$/io) {
- 		# keep some fields specified REMAIN_HEADER for search keyword
- 		my $weight = $conf::Weight{'headers'};
- 		$$weighted_str .= 
- 		    "\x7f$weight\x7f$value\x7f/$weight\x7f\n";
- 	    }
   	} elsif ($line =~ s/^content-type:\s*//i) {
  	    if ($line =~ /multipart.*boundary="(.*)"/i){
  		$boundary = $1;
--- 110,115 ----
***************
*** 129,134 ****
--- 119,134 ----
  		# contributed by Hiroshi Kato <tumibito@xxxxxxxxxxxxxxxxxxx>
    		$partial = $1;
    		util::dprint("((partial: $partial))\n");
+ 	    }
+ 	} elsif ($line =~ /^(\S+):\s(.*)/i) {
+ 	    my $name = $1;
+ 	    my $value = $2;
+ 	    $fields->{lc($name)} = $value;
+ 	    if ($name =~ /^($conf::REMAIN_HEADER)$/io) {
+ 		# keep some fields specified REMAIN_HEADER for search keyword
+ 		my $weight = $conf::Weight{'headers'};
+ 		$$weighted_str .= 
+ 		    "\x7f$weight\x7f$value\x7f/$weight\x7f\n";
  	    }
  	} 
      }