From 5bbc3cf8149a1a7fa4cc331d41b7331e61768830 Mon Sep 17 00:00:00 2001 From: prestonrasmussen Date: Tue, 22 Jul 2025 14:12:21 -0400 Subject: [PATCH] optimize fulltext query update --- graphiti_core/search/search_utils.py | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/graphiti_core/search/search_utils.py b/graphiti_core/search/search_utils.py index 2067f225..cc23efc1 100644 --- a/graphiti_core/search/search_utils.py +++ b/graphiti_core/search/search_utils.py @@ -62,9 +62,7 @@ MAX_QUERY_LENGTH = 128 def fulltext_query(query: str, group_ids: list[str] | None = None, fulltext_syntax: str = ''): group_ids_filter_list = ( - [fulltext_syntax + f'group_id:"{lucene_sanitize(g)}"' for g in group_ids] - if group_ids is not None - else [] + [fulltext_syntax + f'group_id:"{g}"' for g in group_ids] if group_ids is not None else [] ) group_ids_filter = '' for f in group_ids_filter_list: @@ -295,12 +293,12 @@ async def edge_bfs_search( query = ( """ - UNWIND $bfs_origin_node_uuids AS origin_uuid - MATCH path = (origin:Entity|Episodic {uuid: origin_uuid})-[:RELATES_TO|MENTIONS]->{1,3}(n:Entity) - UNWIND relationships(path) AS rel - MATCH (n:Entity)-[r:RELATES_TO]-(m:Entity) - WHERE r.uuid = rel.uuid - """ + UNWIND $bfs_origin_node_uuids AS origin_uuid + MATCH path = (origin:Entity|Episodic {uuid: origin_uuid})-[:RELATES_TO|MENTIONS]->{1,3}(n:Entity) + UNWIND relationships(path) AS rel + MATCH (n:Entity)-[r:RELATES_TO]-(m:Entity) + WHERE r.uuid = rel.uuid + """ + filter_query + """ RETURN DISTINCT @@ -443,10 +441,10 @@ async def node_bfs_search( query = ( """ - UNWIND $bfs_origin_node_uuids AS origin_uuid - MATCH (origin:Entity|Episodic {uuid: origin_uuid})-[:RELATES_TO|MENTIONS]->{1,3}(n:Entity) - WHERE n.group_id = origin.group_id - """ + UNWIND $bfs_origin_node_uuids AS origin_uuid + MATCH (origin:Entity|Episodic {uuid: origin_uuid})-[:RELATES_TO|MENTIONS]->{1,3}(n:Entity) + WHERE n.group_id = origin.group_id + """ + filter_query + ENTITY_NODE_RETURN + """