Carlos A. C. Fernandes

11 papers Journal 4Unranked 7
YearRankTypeTitle / Venue / Authors
2025 conf
ICAR
Carlos A. C. Fernandes, Maria Clara C. Precci-Lopes, Ketia S. Moreira, Alexandre Santos Brandão
2023 J jnl
IEEE Access
Kesia C. Santos, Carlos A. C. Fernandes, Jorge R. Costa
2020 J jnl
IEEE Trans. Computational Imaging
João M. Felício, José M. Bioucas-Dias, Jorge R. Costa, Carlos A. C. Fernandes
2020 conf
EMBC
Daniela M. Godinho, João M. Felício, Carlos A. C. Fernandes, Raquel C. Conceição
2017 J jnl
Proc. IEEE
Joana S. Silva, Maria Garcia-Vigueras, Tomislav Debogovic, Jorge R. Costa, Carlos A. C. Fernandes, Juan R. Mosig
2014 conf
I2MTC
Fernando M. Janeiro, Carlos A. C. Fernandes, Jorge R. Costa, Pedro M. Ramos
2012 conf
RFID-TA
André G. Santiago, Carlos A. C. Fernandes, Jorge R. Costa
2012 conf
RFID-TA
Andela Zaric, Catarina C. Cruz, Carlos A. C. Fernandes, Jorge R. Costa
2012 J jnl
IEEE Trans. Biomed. Eng.
Asimina Kiourti, Jorge R. Costa, Carlos A. C. Fernandes, André G. Santiago, Konstantina S. Nikita
2011 conf
EUROCON
Carlos A. C. Fernandes, Eduardo B. Lima, Jorge R. Costa
2007 conf
VTC Fall
Carla Oliveira, Carlos A. C. Fernandes, Luís M. Correia
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()