From 561e2f5fc8202d2e451cfdac51b4fed9a5e09b9d Mon Sep 17 00:00:00 2001 From: Zhiru Zhu Date: Tue, 10 Mar 2020 21:07:11 +0800 Subject: [PATCH] update Signed-off-by: Zhiru Zhu --- core/src/scheduler/task/SearchTask.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/core/src/scheduler/task/SearchTask.cpp b/core/src/scheduler/task/SearchTask.cpp index 5e71b803e1..857965dd2d 100644 --- a/core/src/scheduler/task/SearchTask.cpp +++ b/core/src/scheduler/task/SearchTask.cpp @@ -266,14 +266,19 @@ XSearchTask::Execute() { // step 3: pick up topk result auto spec_k = file_->row_count_ < topk ? file_->row_count_ : topk; + if (spec_k == 0) { + ENGINE_LOG_WARNING << "Searching in an empty file. file location = " << file_->location_; + } { std::unique_lock lock(search_job->mutex()); - if (search_job->GetResultIds().front() == -1 && search_job->GetResultIds().size() > spec_k) { - // initialized results set - search_job->GetResultIds().resize(spec_k); - search_job->GetResultDistances().resize(spec_k); + if (search_job->GetResultIds().size() > spec_k) { + if (search_job->GetResultIds().front() == -1) { + // initialized results set + search_job->GetResultIds().resize(spec_k * nq); + search_job->GetResultDistances().resize(spec_k * nq); + } } XSearchTask::MergeTopkToResultSet(output_ids, output_distance, spec_k, nq, topk, ascending_reduce,