@@ -154,7 +154,7 @@ def _create_lexical_graph(self, elements: list[dict], document_node: _Node) -> "
154154 self ._add_entities (element , graph , element_node )
155155
156156 if self ._is_chunk (element ):
157- for origin_element in format_and_truncate_orig_elements (element ):
157+ for origin_element in format_and_truncate_orig_elements (element , include_text = True ):
158158 origin_element_node = self ._create_element_node (origin_element )
159159
160160 graph .add_edge (
@@ -327,21 +327,29 @@ async def _create_uniqueness_constraints(self, client: AsyncDriver) -> None:
327327 async def _create_vector_index (
328328 self , client : AsyncDriver , dimensions : int , similarity_function : SimilarityFunction
329329 ) -> None :
330+ import neo4j .exceptions
331+
330332 label = Label .CHUNK
331333 logger .info (
332334 f"Creating index on nodes labeled '{ label .value } ' if it does not already exist."
333335 )
334336 index_name = f"{ label .value .lower ()} _vector"
335- await client .execute_query (
336- f"""
337+ try :
338+ await client .execute_query (
339+ f"""
337340 CREATE VECTOR INDEX { index_name } IF NOT EXISTS
338341 FOR (n:{ label .value } ) ON n.embedding
339342 OPTIONS {{indexConfig: {{
340343 `vector.similarity_function`: '{ similarity_function } ',
341344 `vector.dimensions`: { dimensions } }}
342345 }}
343346 """
344- )
347+ )
348+ except neo4j .exceptions .ClientError as e :
349+ if e .code == "Neo.ClientError.Schema.EquivalentSchemaRuleAlreadyExists" :
350+ logger .info (f"Index on nodes labeled '{ label .value } ' already exists." )
351+ else :
352+ raise
345353
346354 async def _delete_old_data_if_exists (self , file_data : FileData , client : AsyncDriver ) -> None :
347355 logger .info (f"Deleting old data for the record '{ file_data .identifier } ' (if present)." )
0 commit comments