Vasa Svircevic

15 papers Misc 4Journal 6Unranked 5
YearRankTypeTitle / Venue / Authors
2021 J jnl
Expert Syst. J. Knowl. Eng.
Dragan Simic, Vasa Svircevic, Emilio Corchado, José Luís Calvo-Rolle, Svetislav D. Simic, Svetlana Simic
2020 conf
SOCO
Dragan Simic, Vasa Svircevic, José Luís Calvo-Rolle, Vladimir Ilin, Svetislav D. Simic, Svetlana Simic
2019 conf
SOCO
Dragan Simic, Vasa Svircevic, Vladimir Ilin, Svetislav D. Simic, Svetlana Simic
2019 J jnl
Cybern. Syst.
Dragan Simic, Vasa Svircevic, Vladimir Ilin, Svetislav D. Simic, Svetlana Simic
2017 J jnl
J. Appl. Log.
Dragan Simic, Ilija Kovacevic, Vasa Svircevic, Svetlana Simic
2017 J jnl
Log. J. IGPL
Dragan Simic, Vladimir Ilin, Vasa Svircevic, Svetlana Simic
2016 Misc conf
HAIS
Dragan Simic, Jovana Gajic, Vladimir Ilin, Vasa Svircevic, Svetlana Simic
2015 Misc conf
HAIS
Dragan Simic, Vladimir Ilin, Ilija Tanackov, Vasa Svircevic, Svetlana Simic
2015 J jnl
J. Appl. Log.
Dragan Simic, Vasa Svircevic, Svetlana Simic
2015 conf
CORES
Dragan Simic, Vasa Svircevic, Sinisa Sremac, Vladimir Ilin, Svetlana Simic
2015 J jnl
Log. J. IGPL
Dragan Simic, Ilija Kovacevic, Vasa Svircevic, Svetlana Simic
2014 conf
SOCO-CISIS-ICEUTE
Dragan Simic, Vasa Svircevic, Svetlana Simic
2014 Misc conf
HAIS
Dragan Simic, Vasa Svircevic, Svetlana Simic
2013 Misc conf
HAIS
Dragan Simic, Vasa Svircevic, Svetlana Simic
2012 conf
SOCO
Dragan Simic, Vasa Svircevic, Svetlana Simic
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()