namazu-ml(avocado)


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

Re: mailnews_citation_filter



高林です

Rei FURUKAWA <furukawa@xxxxxxxxxxxxxxxx> wrote:

>mknmz.pl に mailnews_citation_filter という便利な処理がありますが、こ
>こでカットされたデータが、全部そのまま $weighted_str に入ってしまうの
>で、例えば、

これはすごく大きなバグですね。気付きませんでした。ご報告ありがとう
ございます。

とりあえず sub namazu_core の

    &document_filter($cfile, \$title, \$contents,
		    \$weighted_str, \$header, \$headings);
    &finfoput($url, $title, $cfile_size, \$contents, \$header, \$headings);
    &wordcounter($file_count, $file_segment, \$contents, \$weighted_str, $kanji);


を

    &document_filter($cfile, \$title, \$contents,
		    \$weighted_str, \$header, \$headings);
    &finfoput($url, $title, $cfile_size, \$contents, \$header, \$headings);
+   $contents .= $weighted_str;   # 重みづけ情報を追加
    &wordcounter($file_count, $file_segment, \$contents, \$weighted_str, $kanji);

に修正して sub wordcounter の

    # 小文字に正規化
    $$contents =~ tr/A-Z/a-z/;
    $$weighted_str =~ tr/A-Z/a-z/;

    # 記号を全て削除する -K オプション時
    $$contents =~ tr/\xa1-\xfea-z0-9/   /c if $NoSymbolOpt;
    $$weighted_str =~ tr/\xa1-\xfea-z0-9/   /c if $NoSymbolOpt;

    # スコアの重みづけを行う
    $$weighted_str =~ s/\t *(\d+) *\t([^\t]*)\t\/ *\d+ *\t/&wordcountsub($2, $1, \%word_count)/ge;
    &wordcountsub($$contents, 1, \%word_count);

を

    # 小文字に正規化
    $$contents =~ tr/A-Z/a-z/;
-   $$weighted_str =~ tr/A-Z/a-z/;

    # 記号を全て削除する -K オプション時
    $$contents =~ tr/\xa1-\xfea-z0-9/   /c if $NoSymbolOpt;
-   $$weighted_str =~ tr/\xa1-\xfea-z0-9/   /c if $NoSymbolOpt;

    # スコアの重みづけを行う
!   $$contents =~ s/\t *(\d+) *\t([^\t]*)\t\/ *\d+ *\t/&wordcountsub($2, $1, \%word_count)/ge;
    &wordcountsub($$contents, 1, \%word_count);

に修正してください。明日にでも暫定修正版を配布したいと思います。


>いずれにしても、現在、要約用のデータと検索用のデータは $contents が兼
>ねていますが、これは分離した方がスッキリするように思います。

これはそうかもしれません。よく考えてみることにします。

--
高林 哲 Satoru Takabayashi