diff --git a/graphiti_core/search/search_utils.py b/graphiti_core/search/search_utils.py index 578e46f2..3459e42a 100644 --- a/graphiti_core/search/search_utils.py +++ b/graphiti_core/search/search_utils.py @@ -158,7 +158,7 @@ async def edge_fulltext_search( """ CALL db.index.fulltext.queryRelationships("edge_name_and_fact", $query, {limit: $limit}) YIELD relationship AS rel, score - MATCH (:ENTITY)-[r:RELATES_TO]->(:ENTITY) + MATCH (:Entity)-[r:RELATES_TO]->(:Entity) WHERE r.group_id IN $group_ids""" + filter_query + """\nWITH r, score, startNode(r) AS n, endNode(r) AS m @@ -229,8 +229,8 @@ async def edge_similarity_search( query: LiteralString = ( """ - MATCH (n:Entity)-[r:RELATES_TO]->(m:Entity) - """ + MATCH (n:Entity)-[r:RELATES_TO]->(m:Entity) + """ + group_filter_query + filter_query + """\nWITH DISTINCT r, vector.similarity.cosine(r.fact_embedding, $search_vector) AS score diff --git a/tests/utils/search/search_utils_test.py b/tests/utils/search/search_utils_test.py index 02b9ac7d..d7806205 100644 --- a/tests/utils/search/search_utils_test.py +++ b/tests/utils/search/search_utils_test.py @@ -14,7 +14,7 @@ async def test_hybrid_node_search_deduplication(): # Mock the node_fulltext_search and entity_similarity_search functions with patch( - 'graphiti_core.search.search_utils.node_fulltext_search' + 'graphiti_core.search.search_utils.node_fulltext_search' ) as mock_fulltext_search, patch( 'graphiti_core.search.search_utils.node_similarity_search' ) as mock_similarity_search: @@ -48,7 +48,7 @@ async def test_hybrid_node_search_empty_results(): mock_driver = AsyncMock() with patch( - 'graphiti_core.search.search_utils.node_fulltext_search' + 'graphiti_core.search.search_utils.node_fulltext_search' ) as mock_fulltext_search, patch( 'graphiti_core.search.search_utils.node_similarity_search' ) as mock_similarity_search: @@ -67,7 +67,7 @@ async def test_hybrid_node_search_only_fulltext(): mock_driver = AsyncMock() with patch( - 'graphiti_core.search.search_utils.node_fulltext_search' + 'graphiti_core.search.search_utils.node_fulltext_search' ) as mock_fulltext_search, patch( 'graphiti_core.search.search_utils.node_similarity_search' ) as mock_similarity_search: @@ -91,7 +91,7 @@ async def test_hybrid_node_search_with_limit(): mock_driver = AsyncMock() with patch( - 'graphiti_core.search.search_utils.node_fulltext_search' + 'graphiti_core.search.search_utils.node_fulltext_search' ) as mock_fulltext_search, patch( 'graphiti_core.search.search_utils.node_similarity_search' ) as mock_similarity_search: @@ -134,7 +134,7 @@ async def test_hybrid_node_search_with_limit_and_duplicates(): mock_driver = AsyncMock() with patch( - 'graphiti_core.search.search_utils.node_fulltext_search' + 'graphiti_core.search.search_utils.node_fulltext_search' ) as mock_fulltext_search, patch( 'graphiti_core.search.search_utils.node_similarity_search' ) as mock_similarity_search: