@@ -140,8 +140,8 @@ public enum Scenario
140140 [ Obsolete ] LinearWithScore ,
141141 RrfNoScore ,
142142 [ Obsolete ] RrfWithScore ,
143- [ Obsolete ] FilterByTag ,
144- FilterByNumber ,
143+ [ Obsolete ] PostFilterByTag ,
144+ PostFilterByNumber ,
145145 LimitFirstPage ,
146146 LimitSecondPage ,
147147 LimitEmptyPage ,
@@ -166,6 +166,8 @@ public enum Scenario
166166 VectorWithNearestCount ,
167167 [ Obsolete ] VectorWithNearestDistAlias ,
168168 [ Obsolete ] VectorWithNearestMaxCandidates ,
169+ PreFilterByTag ,
170+ PreFilterByNumeric
169171 }
170172
171173 private static class EnumCache < T >
@@ -233,8 +235,10 @@ public async Task TestSearchScenarios(string endpointId, Scenario scenario)
233235 Scenario . LinearWithScore => query . Combine ( HybridSearchQuery . Combiner . Linear ( ) , "lin_score" ) ,
234236 Scenario . RrfNoScore => query . Combine ( HybridSearchQuery . Combiner . ReciprocalRankFusion ( 10 , 1.2 ) ) ,
235237 Scenario . RrfWithScore => query . Combine ( HybridSearchQuery . Combiner . ReciprocalRankFusion ( ) , "rrf_score" ) ,
236- Scenario . FilterByTag => query . Filter ( "@tag1:{foo}" ) ,
237- Scenario . FilterByNumber => query . ReturnFields ( [ ..fields , "@numeric1" ] ) . Filter ( "@numeric1!=0" ) ,
238+ Scenario . PreFilterByTag => query . VectorSearch ( new ( "@vector1" , VectorData . Raw ( vec ) , filter : "@tag1:{foo}" ) ) ,
239+ Scenario . PreFilterByNumeric => query . VectorSearch ( new ( "@vector1" , VectorData . Raw ( vec ) , filter : "@numeric1!=0" ) ) ,
240+ Scenario . PostFilterByTag => query . Filter ( "@tag1:{foo}" ) ,
241+ Scenario . PostFilterByNumber => query . ReturnFields ( [ ..fields , "@numeric1" ] ) . Filter ( "@numeric1!=0" ) ,
238242 Scenario . LimitFirstPage => query . Limit ( 0 , 2 ) ,
239243 Scenario . LimitSecondPage => query . Limit ( 2 , 2 ) ,
240244 Scenario . LimitEmptyPage => query . Limit ( 0 , 0 ) ,
0 commit comments