@@ -167,14 +167,23 @@ def create_sample_nodes(workspace_id: str, prefix: str = "") -> List[VectorNode]
167167 VectorNode (
168168 unique_id = f"{ id_prefix } node3" ,
169169 workspace_id = workspace_id ,
170+ content = "Machine learning is a subset of artificial intelligence." ,
171+ metadata = {
172+ "node_type" : "tech_new" ,
173+ "category" : "ML" ,
174+ },
175+ ),
176+ VectorNode (
177+ unique_id = f"{ id_prefix } node4" ,
178+ workspace_id = workspace_id ,
170179 content = "I love eating delicious seafood, especially fresh fish." ,
171180 metadata = {
172181 "node_type" : "food" ,
173182 "category" : "preference" ,
174183 },
175184 ),
176185 VectorNode (
177- unique_id = f"{ id_prefix } node4 " ,
186+ unique_id = f"{ id_prefix } node5 " ,
178187 workspace_id = workspace_id ,
179188 content = "Deep learning uses neural networks with multiple layers." ,
180189 metadata = {
@@ -277,17 +286,20 @@ def test_search(self, workspace_id: str):
277286 def test_search_with_filter (self , workspace_id : str ):
278287 """Test vector search with filter."""
279288 logger .info ("=" * 20 + " FILTER SEARCH TEST " + "=" * 20 )
280- filter_dict = {"metadata.node_type" : "tech" }
289+ filter_dict = {"metadata.node_type" : [ "tech" , "tech_new" ] }
281290 results = self .client .search (
282291 "What is artificial intelligence?" ,
283292 workspace_id = workspace_id ,
284293 top_k = 5 ,
285294 filter_dict = filter_dict ,
286295 )
287- logger .info (f"Filtered search returned { len (results )} results (node_type= tech)" )
296+ logger .info (f"Filtered search returned { len (results )} results (node_type in [ tech, tech_new] )" )
288297 for i , r in enumerate (results , 1 ):
289298 logger .info (f"Filtered Result { i } : { r .model_dump (exclude = {'vector' })} " )
290- assert r .metadata .get ("node_type" ) == "tech" , "All results should have node_type=tech"
299+ assert r .metadata .get ("node_type" ) in [
300+ "tech" ,
301+ "tech_new" ,
302+ ], "All results should have node_type in [tech, tech_new]"
291303
292304 def test_search_with_id (self , workspace_id : str ):
293305 """Test vector search by unique_id with empty query."""
@@ -503,17 +515,20 @@ async def test_search(self, workspace_id: str):
503515 async def test_search_with_filter (self , workspace_id : str ):
504516 """Test async vector search with filter."""
505517 logger .info ("ASYNC - " + "=" * 20 + " FILTER SEARCH TEST " + "=" * 20 )
506- filter_dict = {"metadata.node_type" : "tech" }
518+ filter_dict = {"metadata.node_type" : [ "tech" , "tech_new" ] }
507519 results = await self .client .async_search (
508520 "What is artificial intelligence?" ,
509521 workspace_id = workspace_id ,
510522 top_k = 5 ,
511523 filter_dict = filter_dict ,
512524 )
513- logger .info (f"Filtered search returned { len (results )} results (node_type= tech)" )
525+ logger .info (f"Filtered search returned { len (results )} results (node_type in [ tech, tech_new] )" )
514526 for i , r in enumerate (results , 1 ):
515527 logger .info (f"Filtered Result { i } : { r .model_dump (exclude = {'vector' })} " )
516- assert r .metadata .get ("node_type" ) == "tech" , "All results should have node_type=tech"
528+ assert r .metadata .get ("node_type" ) in [
529+ "tech" ,
530+ "tech_new" ,
531+ ], "All results should have node_type in [tech, tech_new]"
517532
518533 async def test_search_with_id (self , workspace_id : str ):
519534 """Test async vector search by unique_id with empty query."""
0 commit comments