[Namazu-win32-users-ja 1248] Re: mknmzの処理が中断する

ホクコン 設計 小川 点 t_ogawa @ mail.hokukon.co.jp
2010年 9月 17日 (金) 15:00:51 JST


  私のところも半年以上前からインデックスを作成しており、非常に苦労してい
ます。また、多大な時間も使っています。(データ量が多いので)

>日本語のパス名に ActivePerl は対応していません。
 はじめて知りました。それで、いろいろ問題が発生しているのですね。
 
1、まず、インデックスを格納するフォルダー名ですが、これは、もろに漢字に
影響します。使うとハンぐるフォルダー名漢字は、たくさんあります。また、
WindowsサーバーとローカルWindowsでは、状況が若干変わるようです。(信じら
れませんが)

2、インデックスを参照するほうは、かなり、許容度が高いです。昨日、修正し
てうまくいったのは、mknmz --update XXX で、ファイルの検索中にハンぐるの
で、原因は、長いファイル名の最後のフォルダー名が 表 でした。この漢字は、
他のフォルダーでも使われており、また、このフォルダー以外のフォルダーを削
除して実行した場合は、すんなり、通ります。結果的には、表 を 図表に変更
して動きました。(これも理論的には、信じられない)

で、言いたいのは、漢字コードだけではないです。フォルダー名の長さ(深さ)
や、全体のデータ量に大きくかかわっているとしか思えません。というのが半年
以上、苦労してきたところの結論です。
 自分もプログラムを作りますが、Perlは、どうも理解できないんで、やってい
ません。おそらく、メモリリークかなんかじゃないのだろうかというのが、現時
点での思い込みです。
 
 会社なので、サーバーのフォルダー名を変更するのは、大変難しいので、イン
デックスを格納するほうの名称は、私の勝手なので、問題の発生しそうな漢字は、
すっとばして作成していますが、基本的には、ファイル数の大きなフォルダーは、
階層を深く潜っていって、こまかくインデックスを作成し、順に、mkmergeで、
大きなインデックスを作成するという自動処理をおこなっています。mkmergeに
もっとたくさんのインデックスを指定できるようにしてもらうと、時間的なロス
が大きく改善されると思いますね。(あくまで、私のやり方の場合ですが)
 
 では、みなさん、グッドラック!
 

ogawa



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