引き続き,Namazuの導入

さて,Namazuを導入したのは良いものの,いくつか気にくわない点があった.

まず,ファイル名(正確には,Namazuの検索結果のタイトル部分)が
元のファイル名のエンコーディングに依存してしまっていた.
調べてみてもあまり有用な情報は見つからず.

調べてる中で見つけたのは,タイトルの部分は,pdfinfoの結果から決定しているらしい.
しかし,pdfinfoの引数にはエンコーディングが指定できるようになっていて,
フィルターのスクリプトの中では,EUC-JPを確かに指定している.

しかし,よくよくスクリプトを読んでみると,pdfinfoのtitle要素が無かった場合は,
ファイル名を使うようにしていることがわかった.
従って,ファイル名に対してエンコードを行えば,問題なさそうである.
filterのスクリプトを以下のように変更した.

> diff -c pdf.pl~ pdf.pl
*** pdf.pl~ 2010-02-01 22:58:04.000000000 +0900
--- pdf.pl 2010-02-02 22:02:21.000000000 +0900


*** 26,31 ****
--- 26,32 ----

package pdf;
use strict;
+ use Jcode;
require 'util.pl';
require 'gfilter.pl';


*** 204,209 ****
--- 205,212 ----
gfilter::lineadjustfilter($cont);
gfilter::lineadjustfilter($weightedstr);
gfilter::white
spaceadjustfilter($cont);
+
+ $cfile = jcode($cfile)->eucjp;
$fields->{'title'} = gfilter::filenametotitle($cfile, $weightedstr)
unless $fields->{'title'};
gfilter::show
filterdebuginfo($cont, $weighted_str,

実際に動かしてみたところ,問題なく動いていることを確認した.

また,Namazuのインデックスを作成するときに,以下のようにエラーが起きることがあった.

Out of memory during "large" request for 67112960 bytes, total sbrk() is 516675584 bytes at /usr/local/lib/perl5/site_perl/5.8.9/File/MMagic.pm line 915, <GEN7> line 10.

読み込んでいるファイルが,ドキュメントスキャナで取り込んだpdfファイルということもあり,
数百ページの画像ファイルになっている場合があるため,1ファイルが相当大きくなっている場合がある.

原因としては,sbrkの制限がかかっており,limitで調べると以下のようになっていた.

cputime unlimited
filesize unlimited
datasize 524288 kbytes
stacksize 65536 kbytes
coredumpsize unlimited
memoryuse unlimited
vmemoryuse unlimited
descriptors 11095
memorylocked unlimited
maxproc 5547
sbsize unlimited

datasizeの部分が512MByteに制限されていることがわかる.
root権限でlimitをしても,ダメだと言われる.
/etc/login.confを見ても,unlimitedになっている.

いろいろと調べていると,FreeBSDのデフォルト値が512MByteらしい.
ただ,/boot/loader.confに以下のように書いておけば良いみたい.

kern.maxdsiz="2G"

確かに,修正してrebootさせると,以下のようになって反映されている,

> limit
cputime unlimited
filesize unlimited
datasize 2097152 kbytes
stacksize 65536 kbytes
coredumpsize unlimited
memoryuse unlimited
vmemoryuse unlimited
descriptors 11095
memorylocked unlimited
maxproc 5547
sbsize unlimited

これで,目下の問題は解決.後は,今後ドキュメントスキャナを使うときには,
dpiをあげることぐらいか...
300dpiだと7割から8割くらいしか自動認識してくれないなぁ...

Posted at : 2010-02-02 22:33:23 / Category : none

Comments

まだコメントはありません / No comment.

Send comment


Name


Mail-address (empty is OK. If you want to notify update, please fill mail-address.)


Bot check code (241225 と入力してください / Please input 241225.)