Hi all.

I have an index in my hands where we have:

      1197474657 _0.fdt
          270297 _0.fdx
            7737 _0.fnm
             520 _0.si
       377812472 _0.tvd
          216765 _0.tvx
       182245906 _0_Lucene50_0.doc
      4121910583 _0_Lucene50_0.pos
       197539330 _0_Lucene50_0.tim
         2329869 _0_Lucene50_0.tip
          358614 _0_Lucene54_0.dvd
             124 _0_Lucene54_0.dvm
      2860857474 _d.fdt
         1147324 _d.fdx
             996 _d.fnm
       282663967 _d.frq
      4350938982 _d.prx
          130478 _d.tii
       165854648 _d.tis
         2261082 _d.tvd
       656372080 _d.tvf
         2294644 _d.tvx
              20 segments.gen
             136 segments_1
             270 segments_2

When we open the index to try and guess the current version, we only read
the current commit, so segments_2.
We read the first int from this file, and it is -11.

The version checking code then says that because format < 9 and format >=
11, the index must be Lucene 3.0.

But then there are files like _0_Lucene50_0.pos in this index which clearly
*can't* be from Lucene 3. And lo and behold, when we open the index using
Lucene 4's IndexUpgrader, it fails, saying that the index format is too new.

So is this normal? Is it legit to have a segments file supposedly created
by v3, even though all the files in the index appear to be created by v5?
Should our version guesser also be opening all the individual files and
checking something in there?

Is the presence of multiple segments_N files somehow related?

Here's a dump of the segments files:

segments_2:

    ffff fff5 0000 0155 c5b7 7ae3 0000 000e
    0000 0001 0533 2e36 2e32 025f 6400 0230
    37ff ffff ffff ffff ffff ffff ff01 ffff
    ffff ff00 0000 0001 0000 0009 026f 7309
    5769 6e64 6f77 7320 380b 6a61 7661 2e76
    656e 646f 7212 4f72 6163 6c65 2043 6f72
    706f 7261 7469 6f6e 0c6a 6176 612e 7665
    7273 696f 6e08 312e 382e 305f 3035 0e6c
    7563 656e 652e 7665 7273 696f 6e24 332e
    362e 322d 534e 4150 5348 4f54 202d 2032
    3031 342d 3031 2d31 3620 3136 3a31 343a
    3134 136d 6572 6765 4d61 784e 756d 5365
    676d 656e 7473 0131 076f 732e 6172 6368
    0561 6d64 3634 0673 6f75 7263 6505 6d65
    7267 650b 6d65 7267 6546 6163 746f 7202
    3133 0a6f 732e 7665 7273 696f 6e03 362e
    3201 0000 0000 0000 0000 06a4 863c

segments_1:

    3fd7 6c17 0873 6567 6d65 6e74 7300 0000
    06ea 9f7c fe4d baa3 64c9 9e10 af2d 052c
    5201 3105 0401 0000 0000 0000 0004 0000
    0001 0000 0001 0504 0102 5f30 01ea 9f7c
    fe4d baa3 64c9 9e10 af2d 052c 5108 4c75
    6365 6e65 3534 ffff ffff ffff ffff 0000
    0000 ffff ffff ffff ffff ffff ffff ffff
    ffff 0000 0000 0000 c028 93e8 0000 0000
    0000 0000 809b 4eea

segments.gen:  (appears to indicate that the current commit is segments_2)

    ffff fffe 0000 0000 0000 0002 0000 0000
    0000 0002




TX

Reply via email to