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

FunctionValues.exist(int) isn't returning false in cases where it should for many "math" based value sources

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 5.0, 6.0
    • None
    • None
    • New

    Description

      The FunctionValues class contains an exist(int doc) method with a default implementation that returns true - field based DocValues override this method as appropriate, but most of the "function" based subclasses in the code (typically anonymous subclasses of "FloatDocValues") don't override this method when wrapping other ValueSources.

      So for example: the FunctionValues returned by ProductFloatFunction.getValues() will say that a value exists for any doc, even if that ProductFloatFunction wraps two FloatFieldSources that don't exist for any docs

      Attachments

        1. LUCENE-5961.patch
          37 kB
          Chris M. Hostetter
        2. LUCENE-5961.patch
          35 kB
          Chris M. Hostetter
        3. LUCENE-5961.patch
          2 kB
          Chris M. Hostetter

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            hossman Chris M. Hostetter
            hossman Chris M. Hostetter
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment