@@ -110,12 +110,14 @@ impl SearchBuilder for DefaultBuilder {
110
110
let Some ( vector) = vector else {
111
111
return Box :: new ( std:: iter:: empty ( ) ) as Box < dyn Iterator < Item = ( f32 , [ u16 ; 3 ] , bool ) > > ;
112
112
} ;
113
+ let search_hints = Hints :: default ( ) . full ( true ) . batch ( false ) ;
114
+ let rerank_hints = Hints :: default ( ) . full ( false ) . batch ( true ) ;
113
115
let make_h1_plain_prefetcher = MakeH1PlainPrefetcher { index } ;
114
116
let make_h0_plain_prefetcher = MakeH0PlainPrefetcher { index } ;
115
117
let make_h0_simple_prefetcher = MakeH0SimplePrefetcher { index } ;
116
118
let make_h0_stream_prefetcher = MakeH0StreamPrefetcher {
117
119
index,
118
- hints : Hints :: default ( ) . full ( true ) ,
120
+ hints : search_hints ,
119
121
} ;
120
122
let f = move |( distance, payload) | ( opfamily. output ( distance) , payload) ;
121
123
let iter: Box < dyn Iterator < Item = ( f32 , NonZero < u64 > ) > > =
@@ -195,8 +197,7 @@ impl SearchBuilder for DefaultBuilder {
195
197
Box :: new ( rerank_index :: < Op , _ , _ , _ > ( unprojected, prefetcher) . map ( f) )
196
198
}
197
199
( RerankMethod :: Index , Io :: Stream , false ) => {
198
- let prefetcher =
199
- StreamPrefetcher :: new ( index, sequence, Hints :: default ( ) ) ;
200
+ let prefetcher = StreamPrefetcher :: new ( index, sequence, rerank_hints) ;
200
201
Box :: new ( rerank_index :: < Op , _ , _ , _ > ( unprojected, prefetcher) . map ( f) )
201
202
}
202
203
( RerankMethod :: Index , Io :: Stream , true ) => {
@@ -209,8 +210,7 @@ impl SearchBuilder for DefaultBuilder {
209
210
tuple. filter ( )
210
211
} ) ;
211
212
let sequence = filter ( sequence, predicate) ;
212
- let prefetcher =
213
- StreamPrefetcher :: new ( index, sequence, Hints :: default ( ) ) ;
213
+ let prefetcher = StreamPrefetcher :: new ( index, sequence, rerank_hints) ;
214
214
Box :: new ( rerank_index :: < Op , _ , _ , _ > ( unprojected, prefetcher) . map ( f) )
215
215
}
216
216
( RerankMethod :: Heap , _, false ) => {
@@ -335,8 +335,7 @@ impl SearchBuilder for DefaultBuilder {
335
335
Box :: new ( rerank_index :: < Op , _ , _ , _ > ( unprojected, prefetcher) . map ( f) )
336
336
}
337
337
( RerankMethod :: Index , Io :: Stream , false ) => {
338
- let prefetcher =
339
- StreamPrefetcher :: new ( index, sequence, Hints :: default ( ) ) ;
338
+ let prefetcher = StreamPrefetcher :: new ( index, sequence, rerank_hints) ;
340
339
Box :: new ( rerank_index :: < Op , _ , _ , _ > ( unprojected, prefetcher) . map ( f) )
341
340
}
342
341
( RerankMethod :: Index , Io :: Stream , true ) => {
@@ -349,8 +348,7 @@ impl SearchBuilder for DefaultBuilder {
349
348
tuple. filter ( )
350
349
} ) ;
351
350
let sequence = filter ( sequence, predicate) ;
352
- let prefetcher =
353
- StreamPrefetcher :: new ( index, sequence, Hints :: default ( ) ) ;
351
+ let prefetcher = StreamPrefetcher :: new ( index, sequence, rerank_hints) ;
354
352
Box :: new ( rerank_index :: < Op , _ , _ , _ > ( unprojected, prefetcher) . map ( f) )
355
353
}
356
354
( RerankMethod :: Heap , _, false ) => {
@@ -475,8 +473,7 @@ impl SearchBuilder for DefaultBuilder {
475
473
Box :: new ( rerank_index :: < Op , _ , _ , _ > ( unprojected, prefetcher) . map ( f) )
476
474
}
477
475
( RerankMethod :: Index , Io :: Stream , false ) => {
478
- let prefetcher =
479
- StreamPrefetcher :: new ( index, sequence, Hints :: default ( ) ) ;
476
+ let prefetcher = StreamPrefetcher :: new ( index, sequence, rerank_hints) ;
480
477
Box :: new ( rerank_index :: < Op , _ , _ , _ > ( unprojected, prefetcher) . map ( f) )
481
478
}
482
479
( RerankMethod :: Index , Io :: Stream , true ) => {
@@ -489,8 +486,7 @@ impl SearchBuilder for DefaultBuilder {
489
486
tuple. filter ( )
490
487
} ) ;
491
488
let sequence = filter ( sequence, predicate) ;
492
- let prefetcher =
493
- StreamPrefetcher :: new ( index, sequence, Hints :: default ( ) ) ;
489
+ let prefetcher = StreamPrefetcher :: new ( index, sequence, rerank_hints) ;
494
490
Box :: new ( rerank_index :: < Op , _ , _ , _ > ( unprojected, prefetcher) . map ( f) )
495
491
}
496
492
( RerankMethod :: Heap , _, false ) => {
@@ -615,8 +611,7 @@ impl SearchBuilder for DefaultBuilder {
615
611
Box :: new ( rerank_index :: < Op , _ , _ , _ > ( unprojected, prefetcher) . map ( f) )
616
612
}
617
613
( RerankMethod :: Index , Io :: Stream , false ) => {
618
- let prefetcher =
619
- StreamPrefetcher :: new ( index, sequence, Hints :: default ( ) ) ;
614
+ let prefetcher = StreamPrefetcher :: new ( index, sequence, rerank_hints) ;
620
615
Box :: new ( rerank_index :: < Op , _ , _ , _ > ( unprojected, prefetcher) . map ( f) )
621
616
}
622
617
( RerankMethod :: Index , Io :: Stream , true ) => {
@@ -629,8 +624,7 @@ impl SearchBuilder for DefaultBuilder {
629
624
tuple. filter ( )
630
625
} ) ;
631
626
let sequence = filter ( sequence, predicate) ;
632
- let prefetcher =
633
- StreamPrefetcher :: new ( index, sequence, Hints :: default ( ) ) ;
627
+ let prefetcher = StreamPrefetcher :: new ( index, sequence, rerank_hints) ;
634
628
Box :: new ( rerank_index :: < Op , _ , _ , _ > ( unprojected, prefetcher) . map ( f) )
635
629
}
636
630
( RerankMethod :: Heap , _, false ) => {
0 commit comments