@@ -355,10 +355,11 @@ def _pack(self, raw):
355
355
self ._nq = raw .results .num_queries
356
356
self ._topk = raw .results .top_k
357
357
self ._hits = []
358
+ offset = 0
358
359
for i in range (self ._nq ):
359
360
hit = schema_pb2 .SearchResultData ()
360
- start_pos = i * self . _topk
361
- end_pos = ( i + 1 ) * self . _topk
361
+ start_pos = offset
362
+ end_pos = offset + raw . results . topks [ i ]
362
363
hit .scores .append (raw .results .scores [start_pos : end_pos ])
363
364
hit .ids .append (raw .results .ids .int_id .data [start_pos : end_pos ])
364
365
for field_data in raw .result .fields_data :
@@ -385,6 +386,7 @@ def _pack(self, raw):
385
386
field_data .vectors .float_data .data [start_pos * dim : end_pos * dim ])
386
387
hit .fields_data .append (field )
387
388
self ._hits .append (hit )
389
+ offset += raw .results .topks [i ]
388
390
389
391
def get__item (self , item ):
390
392
return Hits (self ._hits [item ], self ._auto_id )
@@ -411,10 +413,11 @@ def _pack(self, raw_list):
411
413
nq = raw .results .num_queries
412
414
self ._nq += nq
413
415
self ._topk = raw .results .top_k
416
+ offset = 0
414
417
for i in range (nq ):
415
418
hit = schema_pb2 .SearchResultData ()
416
- start_pos = i * self . _topk
417
- end_pos = ( i + 1 ) * self . _topk
419
+ start_pos = offset
420
+ end_pos = offset + raw . results . topks [ i ]
418
421
hit .scores .extend (raw .results .scores [start_pos : end_pos ])
419
422
hit .ids .int_id .data .extend (raw .results .ids .int_id .data [start_pos : end_pos ])
420
423
for field_data in raw .results .fields_data :
@@ -441,6 +444,7 @@ def _pack(self, raw_list):
441
444
start_pos * dim : end_pos * dim ])
442
445
hit .fields_data .append (field )
443
446
self ._hits .append (hit )
447
+ offset += raw .result .topks [i ]
444
448
445
449
def get__item (self , item ):
446
450
return Hits (self ._hits [item ], self ._auto_id )
0 commit comments