-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Integration
-
Fully Compatible
-
v8.2
-
None
-
3
-
TBD
-
None
-
None
-
None
-
None
-
None
-
None
-
None
For views that contain a search in their definition ($search / $vectorSearch):
- You can run an aggregation query against it that does not contain a search
- You cannot run an aggregation query against it that contains a search (no searching on a view that has a search)
This means for $rankFusion, we should be able to run the stage with input pipelines that do not contain any searches, on a view that has a search in the definition. Like
view: [{$search/$vectorSearch}, ...]
query:
[
$rankFusion: {
pipelines: { // no search stages in any input pipelines
p1: [{$match}, ..., {$sort}],
p2: [{$geoNear}, ...]
}
}
We do not have tests for this, so add them to our js suite. If it turns out for some reason we cannot properly execute these queries, either fix the server code in this ticket, or file follow up ticket(s) if its more complex.
Do not worry about the cases where we are running a $rankFusion with search input pipelines against a view that has a search in it. These queries should fail and are not covered in this ticket
- depends on
-
SERVER-107496 $search inside of a view definition returns no results on sharded collections
-
- Closed
-
-
SERVER-105862 Fix ResolvedNamespacesMap for $rankFusion on views in sharded cluster scenarios
-
- Closed
-
- is related to
-
SERVER-104725 Generalize 'isRankFusion' methods to 'isHybridSearch' in ExpCtx / LPP / AggExState
-
- Closed
-