Skip to content

Commit 94563e4

Browse files
committed
e2e test for vector index
1 parent 2e005a5 commit 94563e4

1 file changed

Lines changed: 18 additions & 4 deletions

File tree

src/apps/hnsw/mod.rs

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,9 +148,9 @@ unsafe impl Sync for VectorIndexer {}
148148
#[cfg(test)]
149149
mod e2e_tests {
150150
use dovahkiin::{data_map, types::{OwnedPrimArray, Type}};
151-
use neb::{index::vector::MetricEncoding, ram::{cell::OwnedCell, schema::{Field, IndexType, Schema}, types::RandValue}};
151+
use neb::{index::vector::{self, MetricEncoding}, ram::{cell::OwnedCell, schema::{Field, IndexType, Schema}, types::RandValue}};
152152

153-
use crate::tests::start_server;
153+
use crate::{apps::hnsw::coordinator::Service, tests::start_server};
154154

155155
use super::*;
156156

@@ -162,9 +162,10 @@ mod e2e_tests {
162162
async fn test_e2e() {
163163
let server = start_server(5010, "vector_indexer_e2e_test").await.unwrap();
164164
let _partition = server.init_hnsw_index_partition_service().await.unwrap();
165-
let _coordinator = server.init_hnsw_index_service().await.unwrap();
165+
let coordinator = server.init_hnsw_index_service().await.unwrap();
166166
let indexer = VectorIndexer::new(&server).await;
167167
indexer.set_core();
168+
assert!(vector::is_vector_index_core_set());
168169

169170
let neb_client = server.neb_client.clone();
170171
let cell_schema = Schema::new_with_id(
@@ -183,8 +184,21 @@ mod e2e_tests {
183184
neb_client.new_schema_with_id(cell_schema).await.unwrap().unwrap();
184185
let cell_id = Id::rand();
185186
let vector1 = vec![1.0, 2.0, 3.0];
186-
let map = data_map!(VECTOR: OwnedValue::PrimArray(OwnedPrimArray::F32(vector1)));
187+
let map = data_map!(VECTOR: OwnedValue::PrimArray(OwnedPrimArray::F32(vector1.clone())));
187188
let cell1 = OwnedCell::new_with_id(CELL_SCHEMA_ID, &cell_id, OwnedValue::Map(map));
189+
assert!(vector::is_vector_index_core_set());
188190
neb_client.write_cell(cell1).await.unwrap().unwrap();
191+
let query = coordinator.query_top_k(
192+
CELL_SCHEMA_ID,
193+
VECTOR_FIELD_ID,
194+
OwnedPrimArray::F32(vector1),
195+
10,
196+
32,
197+
10,
198+
MetricEncoding::L2
199+
).await.unwrap();
200+
assert_eq!(query.len(), 1);
201+
assert_eq!(query[0].0, cell_id);
202+
assert_eq!(query[0].1, 0.0);
189203
}
190204
}

0 commit comments

Comments
 (0)