From 96141fa998307e2295eece0f8b7c3bb6f55671d1 Mon Sep 17 00:00:00 2001 From: Jiquan Long Date: Wed, 19 Jul 2023 14:24:57 +0800 Subject: [PATCH] Fix coping segment offsets twice (#25729) Signed-off-by: longjiquan --- internal/core/src/query/SearchOnSealed.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/internal/core/src/query/SearchOnSealed.cpp b/internal/core/src/query/SearchOnSealed.cpp index 22350f5a24..c2514776ce 100644 --- a/internal/core/src/query/SearchOnSealed.cpp +++ b/internal/core/src/query/SearchOnSealed.cpp @@ -52,7 +52,6 @@ SearchOnSealedIndex(const Schema& schema, return vec_index->Query(ds, search_info, bitset); }(); - auto ids = final->seg_offsets_.data(); float* distances = final->distances_.data(); auto total_num = num_queries * topk; @@ -62,13 +61,10 @@ SearchOnSealedIndex(const Schema& schema, distances[i] = std::round(distances[i] * multiplier) / multiplier; } } - result.seg_offsets_.resize(total_num); - result.distances_.resize(total_num); + result.seg_offsets_ = std::move(final->seg_offsets_); + result.distances_ = std::move(final->distances_); result.total_nq_ = num_queries; result.unity_topK_ = topk; - - std::copy_n(ids, total_num, result.seg_offsets_.data()); - std::copy_n(distances, total_num, result.distances_.data()); } void