Ban usage of $score in input pipelines to $rankFusion

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.2.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Integration
    • None
    • 3
    • TBD
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      As we introduce the $score stage in 8.2, we should also restrict its usage in $rankFusion.

       

      $rankFusion does report the score of each input pipeline in its scoreDetails, but the input pipeline score itself does not impact the behavior / output of the stage. The score is reported in scoreDetails so that ranking stages that produce their own score (like $search / $vectorSearch) can be observed with more nuance in the scoreDetails as the score and the rank will be correlated. 

       

      However, just setting the score metadata of an input directly, without it having a relationship to the ordering of the input pipeline writes into the scoreDetails, while providing no information about the reasoning behind the ordering of the input pipeline.

       

      As such, we should ban $score inside of $rankFusion, as it only reduces confusion and does not restrict any useful behavior.

       

      This ban can easily be added into the $rankFusion BSON input pipeline analysis here.

              Assignee:
              Finley Lau
              Reporter:
              Joe Shalabi
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: