2009年5月13日水曜日

Luceneの内部構造を見る3 はてなブックマーク

前回はLuceneインデックスのファイル構成について確認しました。
いよいよ各ファイルについて見ていきますが、その前にLuceneで使われているデータ型が
Primitive Types」に書いてありますので、確認しておきます。



Byteはフォーマットファイルの最小単位となる8bitです。

UInt32UInt64はそれぞれ32bit、64bitの固定長の整数で、左側が大きな桁を表します。

VIntは、可変長の整数です。
各byteの一番左の1bitで次のbyteを使用するかどうかを表します。
1なら次のbyteを使用、0なら使用しません。
続く7bitは通常通り、左に行くに従って大きな桁になっていくのですが、
byteを股がる場合は、右のbyteのほうが大きな桁になることに注意してください。
画像の(1)、(2)、(3)の矢印の順に桁が上がっていきます。

CharはUTF-8でエンコードされます。

Stringはまずvintで使用するbyte数を表し、その数だけcharが続きます。

次回は、各ファイルについて見ていきます。

0 件のコメント:

コメントを投稿