Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-2529

always apply position increment gap between values

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.9.3, 3.0.2, 3.1, 4.0-ALPHA
    • 3.1, 4.0-ALPHA
    • core/index
    • None
    • (I don't know which version to say this affects since it's some quasi trunk release and the new versioning scheme confuses me.)

    • New, Patch Available

    Description

      I'm doing some fancy stuff with span queries that is very sensitive to term positions. I discovered that the position increment gap on indexing is only applied between values when there are existing terms indexed for the document. I suspect this logic wasn't deliberate, it's just how its always been for no particular reason. I think it should always apply the gap between fields. Reference DocInverterPerField.java line 82:

      if (fieldState.length > 0)
      fieldState.position += docState.analyzer.getPositionIncrementGap(fieldInfo.name);

      This is checking fieldState.length. I think the condition should simply be: if (i > 0).
      I don't think this change will affect anyone at all but it will certainly help me. Presently, I can either change this line in Lucene, or I can put in a hack so that the first value for the document is some dummy value which is wasteful.

      Attachments

        1. LUCENE-2529_nonsenseIncrements.patch
          1.0 kB
          Robert Muir
        2. LUCENE-2529_skip_posIncr_for_1st_token.patch
          8 kB
          David Smiley
        3. LUCENE-2529_test.patch
          3 kB
          Robert Muir
        4. LUCENE-2529_skip_posIncr_for_1st_token.patch
          5 kB
          David Smiley
        5. LUCENE-2529_skip_posIncr_for_1st_token.patch
          3 kB
          David Smiley
        6. LUCENE-2529_always_apply_position_increment_gap_between_values.patch
          0.6 kB
          David Smiley

        Issue Links

          Activity

            People

              koji Koji Sekiguchi
              dsmiley David Smiley
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 1h
                  1h
                  Remaining:
                  Remaining Estimate - 1h
                  1h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified