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 + """