-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
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.