Nazmul Shahadat

12 papers Misc 5Journal 5Unranked 2
YearRankTypeTitle / Venue / Authors
2025 Misc conf
FLAIRS
Omar Gasmann, Nazmul Shahadat
2025 Misc conf
FLAIRS
Nazmul Shahadat, Shleshma Regmi, Anup Rijal
2024 J jnl
Image Vis. Comput.
Nazmul Shahadat, Anthony S. Maida
2024 conf
ICPR (22)
Nazmul Shahadat, Anthony S. Maida
2024 Misc conf
FLAIRS
Nazmul Shahadat, Anthony S. Maida
2024 Misc conf
FLAIRS
Nazmul Shahadat
2024 conf
ICPR (25)
Nazmul Shahadat, Anh Nguyen, Ritika Lama
2023 J jnl
CoRR
Nazmul Shahadat, Anthony S. Maida
2023 J jnl
CoRR
Nazmul Shahadat, Anthony S. Maida
2023 Misc conf
FLAIRS
Nazmul Shahadat, Anthony S. Maida
2023 J jnl
CoRR
Nazmul Shahadat, Anthony S. Maida
2021 J jnl
CoRR
Nazmul Shahadat, Anthony S. Maida
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()