最終更新: haruyama_seigo 2011年12月31日(土) 11:53:46履歴
Solr 3.5 のexampleディレクトリの以下で
した際の index fileの形式を見る. その2.
indexはまっさらにしている. 前回の続きではない.
内容は同じだが順序が異なる
storeされるデータの順序が変わっている
% java -jar start.jar
した際の index fileの形式を見る. その2.
indexはまっさらにしている. 前回の続きではない.
curl http://localhost:8983/solr/update?commit=true -H "Content-Type: text/xml" --data-binary '<add><doc><field name="id">abc</field></doc><doc><field name="id">abcde</field></doc></add>'
- segments.gen
- segments_2
- _0.fdt
- _0.fdx
- _0.fnm
- _0.frq
- _0.nrm
- _0.tii
- _0.tis
- segments* については略. SegSize は 2 になっている.
- _0f.fnm, *.nrm, *.tii も1件と同じなので省略
0000000 00 00 00 03 01 00 00 03 61 62 63 01 00 00 05 61 0000020 62 63 64 65 0000024
- Format
- 00 00 00 03
- org.apache.lucene.index.FieldsWriter.FORMAT_LUCENE_3_2_NUMERIC_FIELDS
- 00 00 00 03
- FieldCount
- 01
- FieldNum
- 00
- Bits
- 00
- Value
- 03 61 62 63
- "abc"
- 03 61 62 63
- FieldCount
- 01
- FieldNum
- 00
- Bits
- 00
- Value
- 05 61 62 63 64 65
- "abcde"
- 05 61 62 63 64 65
0000000 00 00 00 03 00 00 00 00 00 00 00 04 00 00 00 00 0000020 00 00 00 0b 0000024
- Format
- 00 00 00 03
- org.apache.lucene.index.FieldsWriter.FORMAT_LUCENE_3_2_NUMERIC_FIELDS
- 00 00 00 03
- FieldValuesPosition
- 00 00 00 00 00 00 00 04
- FieldValuesPosition
- 00 00 00 00 00 00 00 0b
0000000 00 01 0000002
- TermFreq(DocDelta)
- 00
- TermFreq(DocDelta)
- 01
- FormatPostingsDocsWriter 中で lastDocIDの初期値は0.
- 後述の順序をかえたものと比較すると, 各ポスティングリストの中で初期化されていることがわかる
0000000 ff ff ff fc 00 00 00 00 00 00 00 02 00 00 00 80 0000020 00 00 00 10 00 00 00 0a 00 03 61 62 63 00 01 00 0000040 00 03 02 64 65 00 01 01 00 0000051
- TIVersion
- ff ff ff fc
- org.apache.lucene.index.TermInfosWriter.FORMAT_VERSION_UTF8_LENGTH_IN_BYTES
- ff ff ff fc
- IndexTermCount
- 00 00 00 00 00 00 00 02
- IndexInterval
- 00 00 00 80
- SkipInterval
- 00 00 00 10
- MaxSkipLevels(ここまでtiiと同じ)
- 00 00 00 0a
- TermInfo(Term<PrefixLength, Suffix, FieldNum>, DocFreq, FreqDelta, ProxDelta, [SkipDelta])
- 00 03 61 62 63 00 01 00 00
- Suffix : 03 61 62 63 (abc), FieldNum: 0, DocFreq: 1, SkipDeltaなし
- 00 03 61 62 63 00 01 00 00
- TermInfo(Term<PrefixLength, Suffix, FieldNum>, DocFreq, FreqDelta, ProxDelta, [SkipDelta])
- 03 02 64 65 00 01 01 00
- PrefixLength: 3, Suffix : 02 64 65 (de), FieldNum: 0, DocFreq: 1, FreqDelta: 1, SkipDeltaなし
- FreqDelta は *.frq ファイルでの Delta
- 03 02 64 65 00 01 01 00
curl http://localhost:8983/solr/update?commit=true -H "Content-Type: text/xml" --data-binary '<add><doc><field name="id">abcde</field></doc><doc><field name="id">abc</field></doc></add>'
内容は同じだが順序が異なる
- segments.gen
- segments_2
- _0.fdt
- _0.fdx
- _0.fnm
- _0.frq
- _0.nrm
- _0.tii
- _0.tis
- 上記のものと以下が異なる (segments_2 も異なるが, これは時間とチェックサムが含まれているから)
- _0.fdt
- _0.fdx
- _0.frq
0000000 00 00 00 03 01 00 00 05 61 62 63 64 65 01 00 00 0000020 03 61 62 63 0000024
storeされるデータの順序が変わっている
0000000 01 00 0000002
- TermFreq(DocDelta)
- 01
- TermFreq(DocDelta)
- 00
- カテゴリ:
- インターネット
- インターネットセキュリティ
最新コメント