Namazu-users-ja(旧)


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

サイズの大きい PDF ファイルのインデックス化



全部で 2000個 (2GB) 程度の PDF ファイルをインデックス化しようと
しているのですが、特定の 3個の PDF ファイルだけ
うまく処理できません。

うまくいかないファイルの共通点は、サイズが大きい (16MB以上) 
ことくらいです。
208963a.pdf    17,341,592 bytes
207569a.pdf    21,868,939 bytes
209570a.pdf    30,145,060 bytes

環境は
Solaris 2.6 (SPARC) Memory 256MB, Swap 300MB
Perl 5.00503
Namazu 2.0.5
File::MMagic は Namazu 2.0.5 に付属のもの
Kakasi 2.3.1
Text::Kakasi 1.01
nkf 1.71
xpdf 0.91
で、シェルから
% limit
cputime         制限なし
filesize        制限なし
datasize        制限なし
stacksize       制限なし
coredumpsize    制限なし
descriptors     1024
memorysize      制限なし
の状態で実行しました。


問題のあるファイルに対して

% pdftotext -q -eucjp 207569a.pdf 207569a.text

とやると、正常にテキストファイルが作成されるのですが、
mknmz を実行すると以下のようなエラーになって
インデックスファイルが作成されません。

% mknmz -a -s /var/test
検索対象のファイルを調べています...
1個のファイルがインデックス作成の対象として見つかりました
1/1 - /var/test/207569a.pdf Unable to convert pdf file (maybe copying protection)
Read on closed filehandle <_GEN_4> at /usr/local/bin/mknmz line 956.
Read on closed filehandle <_GEN_5> at /usr/local/bin/mknmz line 961.
[基本]
日付:                Wed Nov  8 16:47:32 2000
わかち書き:          module_kakasi -ieuc -oeuc -w
経過時間 (秒):       639
ファイル/秒:         0.00
システム:            solaris
Perl:                5.00503
Namazu:              2.0.5

Use of uninitialized value at /usr/local/lib/perl5/5.00503/Cwd.pm line 82.
Use of uninitialized value at /usr/local/bin/mknmz line 1883.
Read on closed filehandle <_GEN_10> at /usr/local/share/namazu/pl/util.pl line 204.


調べてみると、/usr/local/share/namazu/filter/pdf.pl の中で
system("$pdfconvpath -q -eucjp $tmpfile $tmpfile2");
がエラーを返しています。
mknmz の実行中、top で見ると
  PID USERNAME THR PRI NICE  SIZE   RES STATE   TIME    CPU COMMAND
 1272 foo        1  50    0  237M  151M run     0:21 65.20% mknmz
と、メモリを非常に食っているのが気になります。

過去ログを検索してみたところ、
http://www.namazu.org/ml/namazu-users-ja/msg00945.html
が同じような現象だったので
mknmz に --media-type=application/pdf オプションを加えて
実行するとインデックス化に成功しました。

時間があれば Perl 5.6 にバージョンアップして試してみようと
思いますが、他に何をチェックすればいいでしょうか。

---
谷川裕樹 (Hiroki TANIKAWA)
tanikawa@xxxxxxxxxxxxxxxxxxxxxxxxxxx