Manuel G. Romana

12 papers Misc 1Journal 4Unranked 7
YearRankTypeTitle / Venue / Authors
2024 J jnl
Expert Syst. J. Knowl. Eng.
Felipe Barreno, Matilde Santos, Manuel G. Romana
2023 Misc conf
HAIS
Felipe Barreno, Matilde Santos, Manuel G. Romana
2023 conf
SOCO (2)
Felipe Barreno, Matilde Santos, Manuel G. Romana
2022 conf
SOCO
Felipe Barreno, Matilde Santos, Manuel G. Romana
2022 J jnl
Neurocomputing
Javier Echeto, Matilde Santos, Manuel G. Romana
2022 J jnl
Expert Syst. J. Knowl. Eng.
Felipe Barreno, Manuel G. Romana, Matilde Santos
2021 conf
CISIS-ICEUTE
Felipe Barreno, Matilde Santos, Manuel G. Romana
2020 conf
SOCO
Felipe Barreno, Matilde Santos, Manuel G. Romana
2020 conf
SOCO
Javier Echeto, Manuel G. Romana, Matilde Santos
2016 conf
ANT/SEIT
Emilio G. Moreno, Manuel G. Romana, Óscar Martínez
2016 J jnl
Expert Syst. Appl.
Sergio Martín, Manuel G. Romana, Matilde Santos
2015 conf
ANT/SEIT
Emilio G. Moreno, Manuel G. Romana
redb/settings/elasticsearch.py
← Index redb/settings/elasticsearch.py python
import logging
import os

from elasticsearch import Elasticsearch
from dotenv import load_dotenv

load_dotenv()

# Elasticsearch configuration
ELASTIC_ENDPOINT = os.getenv("ELASTIC_HOST")
ELASTIC_ENFORCE_SSL = os.getenv("ELASTIC_ENFORCE_SSL", False) == "True"
ELASTIC_USER = os.getenv("ELASTIC_USER")
ELASTIC_PASSWORD = os.getenv("ELASTIC_PASSWORD")
ELASTIC_BINARIES_COLLECTION = os.getenv("ELASTIC_BINARIES_COLLECTION", "test_db")

# Cached client instance
_elasticsearch_client = None

def get_elasticsearch_client():
    """Get Elasticsearch client with lazy initialization and caching"""
    global _elasticsearch_client
    
    if _elasticsearch_client is None:
        if not ELASTIC_ENDPOINT:
            raise ValueError("ELASTIC_HOST environment variable is required for Elasticsearch connection")
            
        _elasticsearch_client = Elasticsearch(
            ELASTIC_ENDPOINT,
            verify_certs=ELASTIC_ENFORCE_SSL,
            basic_auth=(ELASTIC_USER, ELASTIC_PASSWORD),
            maxsize=20,
            retry_on_timeout=True,
            timeout=30,
        )
    
    return _elasticsearch_client

def create_elasticsearch_client():
    """Create a new Elasticsearch client connection (legacy function)"""
    return get_elasticsearch_client()