diff --git a/src/common/comp/brute_force.cc b/src/common/comp/brute_force.cc index def92d57d..a4c6083f7 100644 --- a/src/common/comp/brute_force.cc +++ b/src/common/comp/brute_force.cc @@ -783,7 +783,6 @@ BruteForce::AnnIterator(const DataSetPtr base_dataset, const DataSetPtr query_da faiss::MetricType faiss_metric_type = result.value(); bool is_cosine = IsMetricType(metric_str, metric::COSINE); auto larger_is_closer = faiss::is_similarity_metric(faiss_metric_type) || is_cosine; - std::unique_ptr norms = is_cosine ? GetVecNorms(base_dataset) : nullptr; auto vec = std::vector(nq, nullptr); try { @@ -814,6 +813,7 @@ BruteForce::AnnIterator(const DataSetPtr base_dataset, const DataSetPtr query_da } case faiss::METRIC_INNER_PRODUCT: { if (is_cosine) { + std::unique_ptr norms = GetVecNorms(base_dataset); if constexpr (std::is_same_v) { auto copied_query = CopyAndNormalizeVecs(cur_query, 1, dim); faiss::all_cosine(copied_query.get(), (const float*)xb, norms.get(), dim, 1, nb,