@@ -148,9 +148,9 @@ unsafe impl Sync for VectorIndexer {}
148148#[ cfg( test) ]
149149mod 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