diff --git a/internal/core/unittest/test_index_wrapper.cpp b/internal/core/unittest/test_index_wrapper.cpp index 79581bc969..ffef4a8fc2 100644 --- a/internal/core/unittest/test_index_wrapper.cpp +++ b/internal/core/unittest/test_index_wrapper.cpp @@ -172,9 +172,9 @@ TEST_P(IndexWrapperTest, BuildAndQuery) { search_info.search_params_ = search_conf; std::unique_ptr result; if (vec_field_data_type == DataType::VECTOR_FLOAT) { - auto dataset = GenDataset(NB, metric_type, false); + auto nb_for_nq = NQ + query_offset; + auto dataset = GenDataset(nb_for_nq, metric_type, false); auto xb_data = dataset.get_col(milvus::FieldId(100)); - auto xb_dataset = knowhere::GenDataSet(NB, DIM, xb_data.data()); auto xq_dataset = knowhere::GenDataSet(NQ, DIM, xb_data.data() + DIM * query_offset); result = vec_index->Query(xq_dataset, search_info, nullptr); @@ -188,11 +188,12 @@ TEST_P(IndexWrapperTest, BuildAndQuery) { xq_dataset->SetIsSparse(true); result = vec_index->Query(xq_dataset, search_info, nullptr); } else { - auto dataset = GenDataset(NB, metric_type, true); + auto nb_for_nq = NQ + query_offset; + auto dataset = GenDataset(nb_for_nq, metric_type, true); auto xb_bin_data = dataset.get_col(milvus::FieldId(100)); - auto xb_dataset = knowhere::GenDataSet(NB, DIM, xb_bin_data.data()); + // offset of binary vector is 8-aligned bit-wise representation. auto xq_dataset = knowhere::GenDataSet( - NQ, DIM, xb_bin_data.data() + DIM * query_offset); + NQ, DIM, xb_bin_data.data() + ((DIM + 7) / 8) * query_offset); result = vec_index->Query(xq_dataset, search_info, nullptr); }