Namazu-win32-users-ja(旧)


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

RE: 大量のファイルを対象にすると、エラー



村井と申します。
 今年になってから、Namazuに取り組み、業務で使用しているサーバ
のファイルの全文検索に取り組んでいます。
 サーバはNT4.0 SP6ですが、この上では試行錯誤できないので、
別のコンピュータにデータをコピーし、作成したインデックスをサーバに
コピーしてテスト運用しています。動作環境は

 CPU Pentium4 2.0AGHz
 メモリ 1,024MB
 OS  Windows 2000 Professional SP2
 Namazu  2.0.10
 Perl    5.6.1.630
 xpdf   1.00
 Office 2000
 一太郎12

 対象としているのは html、テキスト、ワード、エクセル、ppt、pdf、
一
太郎です。
 上田様の現象と同じかどうかわかりませんが、ある条件で、すべての
ファイルが「ファイルが巨大なので無視します」となる状態が発生しました
ので報告します。

 その条件はmknmzrcの $FILE_SIZE_MAX  を越える大きな、「読み取
り専用」に設定されたpptファイルが含まれており、このファイルが「ファイ
ルが巨大なので無視します」となった後で、これ以降ワードであれpdfで
あれ全てのファイルが「ファイルが巨大なので無視します」となってしま
います。
 なお、インデックスに含まれるNMZ.errファイルをエディタで開けばどこ
からおかしくなったのか見当がつきます。
 「読み取り専用」でも $FILE_SIZE_MAX より小さければインデックスが
作成され、また「読み取り専用」でなければ $FILE_SIZE_MAX より大
きくても、そのファイルだけが「ファイルが巨大なので無視します」となり、
あとは正常にインデックス作成が行われます。
 現在私は実際に処理する最大のpptファイルに合わせ、mknmzrc を以
下のように設定しています。  

 $ON_MEMORY_MAX   = 20000000;
 $FILE_SIZE_MAX   = 120000000;
 $TEXT_SIZE_MAX   = 50000000;

 これとは別ですが、大量のファイルを対象にした場合、1,600個位ま
でいったところで Out of memory で停止してしまう現象が発生しました。
 $ON_MEMORY_MAX などを変更して試してみましたが、結局は mknmz
のチェックポイント機構を作動させるオプション「-s」を指定することで解決
しました。

  (例 mknmz -s -U -O i:\index i:\test)

 上記の環境で17,000個ほどのファイルから一遍にインデックスを作成
しても問題なく動作します。(因みに6時間弱かかります。)