Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-99674

Change $rankFusion weights object to accept a subset of pipelines specified

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Integration
    • Fully Compatible

      Right now the $rankFusion stage 'combination.weights' argument is either completely unspecified (implying each pipeline has the same weight of 1), or if any of the pipeline weights are specified, every pipeline must have a weight specified.

      We would like to change the behavior so that a subset of the pipelines can have their weights specified. All unspecified pipelines will have an implied weight of 1, per the design doc.

       

      So the following $rankFusion stage would be valid:

      {
        $rankFusion: {
          input: {
            pipelines: {
              pipeline_1: {...},
              pipeline_2: {...}
            }
          }
          combination: {
            weights: {
              pipeline_1: 0.5
            }
          }
        }
      }

      With 'pipeline_1' having a weight of 0.5, and 'pipeline_2' having a weight of 1

            Assignee:
            joseph.shalabi@mongodb.com Joe Shalabi
            Reporter:
            joseph.shalabi@mongodb.com Joe Shalabi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: