From 1f42b4ec9d4c8b17b38a9cae8beaea05db9ff15c Mon Sep 17 00:00:00 2001 From: "shengjun.li" Date: Mon, 5 Jul 2021 17:26:07 +0800 Subject: [PATCH] fix the case that knng is not full (#6308) Signed-off-by: shengjun.li --- .../knowhere/index/vector_offset_index/IndexNSG_NM.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexNSG_NM.cpp b/internal/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexNSG_NM.cpp index da9f204d01..59067dbea2 100644 --- a/internal/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexNSG_NM.cpp +++ b/internal/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexNSG_NM.cpp @@ -134,6 +134,12 @@ NSG_NM::BuildAll(const DatasetPtr& dataset_ptr, const Config& config) { preprocess_index->GenGraph(raw_data, k, knng, config); #endif + for (size_t i = 0; i < knng.size(); i++) { + while (knng[i].size() > 0 && knng[i].back() == -1) { + knng[i].resize(knng[i].size() - 1); + } + } + impl::BuildParams b_params; b_params.candidate_pool_size = config[IndexParams::candidate]; b_params.out_degree = config[IndexParams::out_degree];