diff --git a/es_search.py b/es_search.py index 9e20505..eae6078 100644 --- a/es_search.py +++ b/es_search.py @@ -22,14 +22,14 @@ class ESSearch(PyOperator): password (`str=None`): user password to connect ElasticSearch client, defaults to None ca_certs (`str=None`): path to CA certificate, defaults to None """ - def __init__(self, host: str, port: int, index_name: str, user: str = None, password: str = None, ca_certs: str = None): + def __init__(self, index_name: str, **connection_kwargs): super().__init__() self.index_name = index_name + if 'port' in connection_kwargs: + assert 'host' in connection_kwargs, 'Missing port in connection kwargs but given port only.' + connection_kwargs['hosts'] = [f'https://{host}:{port}'] try: - self.client = Elasticsearch( - f'https://{host}:{port}', - ca_certs=ca_certs, - basic_auth=(user, password)) + self.client = Elasticsearch(**connection_kwargs) logger.info('Successfully connected to ElasticSearch client.') except Exception as e: logger.error('Failed to connect ElasticSearch client:\n', e)