[Namazu-users-ja 80] Re: Excel, pptファイルをフィルタDocCatでテキスト抽出するために、mknmzでインデックスを作成した際の問題

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2004年 10月 12日 (火) 15:22:38 JST


寺西です。

"keiichiro.tanaka" wrote:
> 
> Namazuのテキスト抽出処理のためにmknmzでインデックス作成処理を実行したところ
> エラーがでます。
...
> 下記のエラーメッセージが出ます。
> Use of uninitialized value in pattern match (m//) at
> /usr/share/namazu/filter/excel.pl line 89
> Use of uninitialized value in pattern match (m//) at
> /usr/share/namazu/filter/powerpoint.pl line 88

ワーニングですね。

> なお、ソースプログラムのファイル名は下記の通りです。
> ・OS:Redhut9
> ・WEB:apache_1.3.31
> ・Namazu:(検索エンジン):namazu-2.0.13
> ・Kakasi:Namazuよりインストール
> ・nkf:Redhut9よりインストール
> ・iconv:Redhut9よりインストール
> ・文書フィルタ
> Word,Excel,PowerPoint兼用:DocCat
> pdf用:xpdf-3.00、xpdf-japanese

これだけではよく分かりませんが、Namazu 2.0.13 はどうやって
インストールしたのでしょうか?
# Red Hat の rpm でもつかいましたか?
 
> excel.plファイルの関数の抜粋です(左が行数です)
> 84:sub filter ($$$$$) {
> 85: my ($orig_cfile, $cont, $weighted_str, $headings, $fields)
> 86: = @_;
> 87: my $err = undef;
> 88:
> 89: if ($convname =~ /xlhtml/i) {
> 90: $err = filter_xl($orig_cfile, $cont, $weighted_str, $headings, $fields);
> 91: } else {
> 92: $err = filter_doccat($orig_cfile, $cont, $weighted_str, $headings,
> $fields);
> 93: }
> 94: return $err;
> 95:}

中身は Namazu 2.0.13 ではありません。2.0.13 なら下記のようになって
います。

sub filter ($$$$$) {
    my ($orig_cfile, $cont, $weighted_str, $headings, $fields)
      = @_;
    my $err = undef;

    if (defined $convname && $convname =~ /xlhtml/i) {
    $err = filter_xl($orig_cfile, $cont, $weighted_str, $headings,
$fields);
    } else {
    $err = filter_doccat($orig_cfile, $cont, $weighted_str, $headings,
$fields);
    }
    return $err;
}
 
> powerpoint.plファイルの関数の抜粋です(左が行数です)
> 83:sub filter ($$$$$) {
> 84: my ($orig_cfile, $cont, $weighted_str, $headings, $fields)
> 85: = @_;
> 86: my $err = undef;
> 87:
> 88: if ($pptconvname =~ /ppthtml/i) {
> 89: $err = filter_ppt($orig_cfile, $cont, $weighted_str, $headings,
> $fields);
> 90: } else {
> 91: $err = filter_doccat($orig_cfile, $cont, $weighted_str, $headings,
> $fields);
> 92: }
> 93: return $err;
> 94:}

中身は Namazu 2.0.13 ではありません。2.0.13 なら下記のようになって
います。

sub filter ($$$$$) {
    my ($orig_cfile, $cont, $weighted_str, $headings, $fields)
      = @_;
    my $err = undef;

    if (defined $pptconvname && $pptconvname =~ /ppthtml/i) {
    $err = filter_ppt($orig_cfile, $cont, $weighted_str, $headings,
$fields);
    } else {
    $err = filter_doccat($orig_cfile, $cont, $weighted_str, $headings,
$fields);
    }
    return $err;
}

> 申し訳ありませんが、原因がわからないのでどなたか教えていただけないでしょ
> うか?

なぜ Namazu 2.0.13 のフィルタがインストールされていないのかわかり
ませんが、少なくとも Namazu 2.0.13 の excel.pl, powerpoint.pl で
はありませんので、Namazu 2.0.13 がきちんと動作している環境ではなさ
そうです。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E




Namazu-users-ja メーリングリストの案内