[Namazu-users-ja 1099] Re: インデックス作成でエラー

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2008年 7月 19日 (土) 19:21:20 JST


寺西です。

ika2006jp @ yahoo.co.jp wrote:
> 
> > syslog に何か記録されていませんか?

何も記録されていませんか?

> その後、インデックスを削除し、
> 650000個のHTMLファイルのインデックスの再作成をおこなって
> いるのですが、同様のエラーがでず、かれこれ2週間以上イン
> デックス作成をしているようです。

2週間も実行していますが、ちゃんと中間ファイルやらログ等を確認して、
無限ループに入っていないということを確認されていますか?

通常の運用でもそうですが、検証する場合はそれほど大量のファイルを
インデックスするのはあまり適しているとはいえないでしょう。


なお、本当に遅いだけなら...

NKF, KAKASI(分かち書きに KAKASI を用いている場合) は Perl モジュール
版を利用されているでしょうか?

そもそも pltests は合格しているのでしょうか?

通常は、文書ファイルの数が多い場合は、文書ファイルを分けて
インデックスを作成します。(複数のインデックスに分ける)

Namazu-users-ja#1096 でも、

 > インデックス作成対象のファイルをいくつかに分けて、それぞれ別の
 > インデックスを作成するようにすると、問題の HTML が見つかるかもしれ

と書いたように、インデックスを分けて検証するのが楽で良いです。

また、mknmzrc の $ON_MEMORY_SIZE パラメータを調整することで
処理時間を短縮することも可能です。

> 実績としてインデックスを作成するのにどのくらいの時間がか
> かるのでしょうか?

使用するマシンの性能、処理する文書の種類とその内容、
mknmz から利用するツールの種類(Perl モジュール版か否かを含む)、
mknmzrc の設定、インデックスの分割数等に依存するため、
単純に求めることはできません。

> また、インデックス作成途中で、作成できた分のインデックス
> を検索対象にするのは、無理なのでしょうか?

作成中のものは中間ファイルとして存在しますが、これは本来のインデックス
とは異なるため、検索はできません。
しかし、このことは問題にはなりません。何故ならいくらでも回避方法が
あるからです。

> (分割して合成するみたいなことは可能?)

インデックスを分割して作成することは推奨しています。

マージする場合には nmzmerge コマンドを利用しますが、インデックス
はマージせずに、複数のインデックスを検索対象にすることができます
ので、マージしなくても目的は果たせることが多いです。

また、インデックスは削除ファイルを無視して追加もできますので、
少しずつインデックスにファイルを追加していくということもできます。
この場合は、前回作成したインデックスは検索が可能です。
-- 
=====================================================================
寺西 忠勝(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-users-ja メーリングリストの案内