supporting-blog-content/building-a-recipe-search-with-elasticsearch/elasticsearch_connection.py (20 lines of code) (raw):
import yaml
from elasticsearch import Elasticsearch, AsyncElasticsearch
class ElasticsearchConnection:
def __init__(self, config_file="config.yml"):
with open(config_file, "r") as f:
config = yaml.safe_load(f)
self.client = Elasticsearch(
cloud_id=config["cloud_id"], api_key=config["api_key"]
)
def get_client(self):
return self.client
def get_async_client(self):
with open("config.yml", "r") as f:
config = yaml.safe_load(f)
self.client = AsyncElasticsearch(
cloud_id=config["cloud_id"],
api_key=config["api_key"],
request_timeout=240,
)
return self.client