import pandas as pd import requests from utils.opensearch import opensearch_client def documents_to_database(documents_list, os_client=opensearch_client): # Check if opensearch is available if not os_client.ping(): raise requests.exceptions.ConnectionError("Opensearch is not reachable") # Check if the specified index exists if not os_client.indices.exists(index=documents_list['index'].iloc[0]): raise requests.exceptions.HTTPError(f"Index '{documents_list['index'].iloc[0]}' does not exist") # Insert each document into opensearch index(es) for document in documents_list.to_dict(orient='records'): index_name = document.pop('index', None) if not index_name: raise ValueError("Document must have an 'index' field") os_client.index(index=index_name, body=document)