[Namazu-win32-users-ja 1235] Re: mknmzのファイルリスト指定でのパスの長さについて

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2010年 5月 13日 (木) 12:19:29 JST


寺西です。

Tetsutomo Kuwata wrote:
> 
> ディレクトリ指定でインデックスを作成しようとしたところOut of Memoryとなったため
> ファイルリスト指定でインデックスを作成しているのですが、時々処理が停止しているようです。

ファイルリスト指定にしたからといってメモリの消費量が極端に減るという
ことはないでしょう。
(ファイルリストを、必要なファイルのみにリストアップして絞り込んで
いない限りは。)

http://www.namazu.org/FAQ.html#out-of-memory

をお読みになって、 $ON_MEMORY_MAX を極端に増やしてみましょう。

> (タスクマネージャにPerlプロセスはあるのですが、いつまで経っても終了しません)

遅いだけか、特定のファイルに問題があるのではないかと思います。
 
> 直前のエラー出力をみると"未対応の対象:"に続くファイルのパスが300byte以上のものが多いのですが
> パスの長さに制限があったりしますでしょうか。

バッファが1024バイトなのでそれ以内に切り捨てられますが、300バイト
で何か問題があるということはないでしょう。
 
> 実行コマンド:
> perl c:\namazu\bin\mknmz -U -Y -Z -s -F ファイルリスト -O インデックス 1>標準ログ 2>エラーログ

-s は付けてはいけないオプションです。そりゃ、遅いでしょう。

-Y, -Z を付けていますが、インデックスが肥大化していませんか?
-Y, -Z は必要に応じて付ければ便利なものですが、インデックスの
肥大化をまねきます。

インデックスが大きくなると、処理速度が極端に落ちていきます。

文書ファイルの数が多い場合は、インデックスを複数に分けることを
考えましょう。
-- 
=====================================================================
寺西 忠勝(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-win32-users-ja メーリングリストの案内