namazu-ml(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pack 'w'
- From: Rei FURUKAWA <furukawa@xxxxxxxxxxxxxxxx>
- Date: Fri, 5 Feb 1999 19:31:01 +0900 (JST)
古川です。
近々、データベースの pack 'w' 化が予定されていますが、フォーマットの変
更点を、次のように予想しているのですが、こんな感じでよいでしょうか?
>> doc/ja/nmz_files.txt より
> * NMZ.i
> [単語1\n]
> [エントリの総数 * 2][文書ID][スコア][文書ID][スコア]....\n
> [単語2\n]
> [エントリの総数 * 2][文書ID][スコア][文書ID][スコア]....\n
> [単語3\n]
> [エントリの総数 * 2][文書ID][スコア][文書ID][スコア]....\n
> ...
「エントリの総数 * 2」「文書ID」「スコア」が pack 'w' される。
> * NMZ.ii
> [NMZ.i中の単語1の位置][NMZ.i中の単語2の位置]
> [NMZ.i中の単語3の位置]....
「位置」が pack 'w' される
> * NMZ.h
> [NMZ.ii中の\x0000の位置][NMZ.ii中の\x0001の位置] ...
> [NMZ.ii中の\xffffの位置][番兵]
NMZ.ii が pack 'w' されるのに伴い、offset / sizeof(int) だったものが
offset になる。
NMZ.h 内の値自体は、pack 'w' されない
> * NMZ.fi
> [NMZ.f中の文書ID1の位置][NMZ.f中の文書ID2の位置]
> [NMZ.f中の文書ID3の位置]....
変更なし
> * NMZ.p
> [ハッシュ値\x0000を含む文書ID][ハッシュ値\x0000を含む文書ID]...
> [ハッシュ値\x0001を含む文書ID][ハッシュ値\x0001を含む文書ID]...
> ...
> [ハッシュ値\xffffを含む文書ID][ハッシュ値\xffffを含む文書ID]
これは、正しくは
[ハッシュ値\x0000を含む文書数][ハッシュ値\x0000を含む文書ID]...
[ハッシュ値\x0001を含む文書数][ハッシュ値\x0001を含む文書ID]...
...
[ハッシュ値\xffffを含む文書数][ハッシュ値\xffffを含む文書ID]
ですよね?で、変更点は、
「文書数」「文書 ID」が、pack 'w' される
> * NMZ.pi
> [NMZ.p中の\x0000の位置][NMZ.p中の\x0001の位置] ...
> [NMZ.p中の\xffffの位置]
変更なし
> * NMZ.t
> [文書ID1のタイムスタンプ][文書ID2のタイムスタンプ]...
変更なし
> * NMZ.le
> - little-endian なインデックスのときに存在
> * NMZ.be
> - big-endian なインデックスのときに存在
これはもうやめましょう。やめるチャンスですし。どちらかに固定でいいです
よね。
--
ヤマハ(株)ピアノプレーヤ設計課
古川 令
furukawa@xxxxxxxxxxxxxxxx