• Type: Sub-task Sub-task
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: flexscoring branch
    • Fix Version/s: flexscoring branch
    • Component/s: core/search
    • Labels:
    • Lucene Fields:
      New, Patch Available


      In order to support ranking methods besides TF-IDF, we need to make the statistics they need available. These statistics could be computed in computeWeight (soon to become computeStats) and stored in a separate object for easy access. Since this object will be used solely by subclasses of Similarity, it should be implented as a static inner class, i.e. Similarity.Stats.

      There are two ways this could be implemented:

      • as a single Similarity.Stats class, reused by all ranking algorithms. In this case, this class would have a member field for all statistics;
      • as a hierarchy of Stats classes, one for each ranking algorithm. Each subclass would define only the statistics needed for the ranking algorithm.

      In the second case, the Stats class in DefaultSimilarity would have a single field, idf, while the one in e.g. BM25Similarity would have idf and average field/document length.

      1. LUCENE-3174.patch
        66 kB
        Robert Muir
      2. LUCENE-3174.patch
        63 kB
        Robert Muir
      3. LUCENE-3174.patch
        62 kB
        Robert Muir
      4. LUCENE-3174.patch
        42 kB
        David Mark Nemeskey
      5. LUCENE-3174_normalize_boost.patch
        13 kB
        Robert Muir
      6. LUCENE-3174.patch
        14 kB
        David Mark Nemeskey
      7. LUCENE-3174.patch
        14 kB
        David Mark Nemeskey


        No work has yet been logged on this issue.


          • Assignee:
            David Mark Nemeskey
            David Mark Nemeskey
          • Votes:
            0 Vote for this issue
            1 Start watching this issue


            • Created: