Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: NMZ.iのデータ長について
- From: Tadamasa Teranishi <yw3t-trns@xxxxxxxxxxxxxxx>
- Date: Sun, 21 Dec 2003 00:11:26 +0900
- X-ml-name: namazu-devel-ja
- X-mail-count: 03422
- References: <20031220212211.39D05480@ulis.ac.jp>
寺西です。
Hideyuki Takahashi wrote:
>
> NMZ.iには単語xの読み込むべきデータ長を記録していますが、
> これってNMZ.iiから求められませんか?
> NMZ.iiにはNMZ.iの、先頭から何バイト目から読むかを
> 記録しているのですよね。
> NMZ.ii(x+1)-NMZ.ii(x)で、単語xのデータ長が求められると思います。
> NMZ.iiの最後に全体のバイト数を記録するようにすれば
> ばっちりだと思います。
やや冗長なデータですから、まぁそうです。
> もしこれが本当なら、インデクスが少し小さくなれますよね。
少しだけ小さくなります。ただ、使いやすいかどうかの問題です。
また、
NMZ.field.{subject,from,date,message-id,...}.i と同じ形式にそろえて
いるので、こうなっているのでしょう。
> あと、前回の話題の変数bersizeについても処理が楽になると思います。
これは変わりません。
NMZ.ii はそのままで、NMZ.i の BERサイズを記録している部分を、
[単語xを含む文書の総数*2] あるいは[単語xを含む文書の総数]
に変更することで、処理は楽になります。
というより、本来はそうするつもりでフォーマットを考えて作られて
いたのだと思いますが、実装段階で BERサイズ になってしまったので
しょう。(ある意味バグ)
その結果、NMZ.ii から算出できる(最後はのぞく)冗長なデータ
が NMZ.i に含まれるということになっています。
NMZ.i の処理で必要なのは BERサイズではなく、[単語xを含む文書の総数]
なのですから、NMZ.ii から算出した BER サイズから
[単語xを含む文書の総数] を求めるのではなく、NMZ.i に
[単語xを含む文書の総数] を記録しておくというフォーマットの方が
断然使いやすいです。
このためにインデックスが小さくならない(現状と同じ)としても、
NMZ.i に BERサイズ の代わりに [単語xを含む文書の総数] を記録する
というのが、フォーマットとしては良いでしょう。
> いまいち自信がないのですが、NMZ.pにも
> 同じことがいえるのではないでしょうか。
はい。同じです。
> プログラム初心者なので、まったく見当違いのことを
> いっているかもしれなくてどきどきなのすが、ご検討のほど
> よろしくお願いいたします。
Namazu 2.0系はインデックスの互換性を保つことになっているので、
あまりインデックスのフォーマットについては議論されていませんが、
2.1系についてはその制限もないので、良いアイディアがあれば取り込む
ことは可能だと思います。
# もっと大幅に変更したいと思っていますけど。アイディアがない。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E