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

(Parallel-)MultiSearcher: using Sort object changes the scores

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.9
    • core/search
    • None
    • 21 november 2005, revision 345901

    Description

      Example:
      Hits hits=multiSearcher.search(query);
      returns different scores for some documents than
      Hits hits=multiSearcher.search(query, Sort.RELEVANCE);
      (both for MultiSearcher and ParallelMultiSearcher)

      The documents returned will be the same and in the same order, but the scores in the second case will seem out of order.

      Inspecting the Explanation objects shows that the scores themselves are ok, but there's a bug in the normalization of the scores.

      The document with the highest score should have score 1.0, so all document scores are divided by the highest score. (Assuming the highest score was>1.0)

      However, for MultiSearcher and ParallelMultiSearcher, this normalization factor is applied per index, before merging the results together (the merge itself is ok though).

      An example: if you use
      Hits hits=multiSearcher.search(query, Sort.RELEVANCE);
      for a MultiSearcher with two subsearchers, the first document will have score 1.0.
      The next documents from the same subsearcher will have decreasing scores.
      The first document from the other subsearcher will however have score 1.0 again !

      The same applies for other Sort objects, but it is less visible.

      I will post a TestCase demonstrating the problem and suggested patches to solve it in a moment...

      Attachments

        1. MultiSearcherSort.patch
          8 kB
          Luc Vanlerberghe
        2. MultiSearcherSort.patch
          8 kB
          Luc Vanlerberghe
        3. TestMultiSearcher.patch
          4 kB
          Luc Vanlerberghe

        Activity

          People

            yseeley@gmail.com Yonik Seeley
            lvl Luc Vanlerberghe
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: