2011年6月26日

[Namazu-devel-ja 1807] Re:大量ファイルでのmknmzのメモリ不足について

寺西です。

(2011/06/26 11:19), Shigekazu Aoyagi wrote:
> ファイル名を数字の並び順にソートしている部分ですが、ざっと考えて
...
> 試しにですが、上記のソート処理をコメントアウトしてみたところ
> 200万件のデータでもインデクシングを開始できることを確認しました。
...

> ソート処理をコメントアウトしたまま、小さなテストデータでインデックスを
> 作成してみたところ、特に問題なく終了しました。また、namazuコマンドで
> 正常に検索も行えているようです。

出来上がったインデックスファイルの中身は、Namazu の仕様の
インデックスとは異なっているかと思います。

影響範囲がどの程度かは予測するのは難しいのですが、このルールで
ソートしないと文書IDの振り方が変わってしまうので、想定している
順の文書IDにはならず、そのインデックスを使って検索した結果は、
検索結果の表示順(モードにもよりますが)に違いが生じたりはする
でしょう。
(検索結果のソートで、キーの値が同じ時は文書ID順で表示される
ので、その場合、ファイル名に番号が付いているものの表示順番が
変わるものと思われます。)

また、複数のインデックスをマージ等する時にもソートされている
ことを前提で処理を行っていたかと思いますので、何らかの問題が
出ても不思議ではありません。

> そこで質問なのですが、上記のソート処理を省くことによって、mknmzの実行上
> 問題はありますでしょうか。

上記のような理由で何かしらの動作の違いは予想されます。

実はこのソート処理、本質的にはいらないのではないかと過去に
思ったこともあったのですが、インデックスの互換性のため
残してあります。

このソートを行わないというよりは、ソート時の消費メモリを
減らすようなルーチンに書き換えることをおすすめします。
# 工夫すれば書き換えできそうですし。


本題とは関係ありませんが、

> mknmz -C
...
> Lang_Msg: ja_JP.eucJP
> Lang: ja_JP.eucJP
> Coding System: euc

の環境で

> Supported media types: (35)
> Unsupported media types: (13) marked with minus (-) probably missing application in your $path.

英文で表示されるのは明らかにおかしいです。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E
_______________________________________________
Namazu-devel-ja mailing list
Namazu-devel-ja@xxxxx
http://www.namazu.org/cgi-bin/mailman/listinfo/namazu-devel-ja


投稿者 xml-rpc : 2011年6月26日 17:04
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/104993
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。