Kareem Kamal A. Ghany

11 papers B 1C 2Journal 5Unranked 3
YearRankTypeTitle / Venue / Authors
2022 J jnl
J. King Saud Univ. Comput. Inf. Sci.
Kareem Kamal A. Ghany, Amr Mohamed AbdelAziz, Taysir Hassan A. Soliman, Adel Abu El-Magd Sewisy
2021 J jnl
PeerJ Comput. Sci.
Amr Mohamed AbdelAziz, Taysir Hassan A. Soliman, Kareem Kamal A. Ghany, Adel A. Sewisy
2021 J jnl
Soft Comput.
Jafar Gholami, Kareem Kamal A. Ghany, Hossam M. Zawbaa
2020 J jnl
Int. J. Comput. Appl. Technol.
Amr Mohamed AbdelAziz, Kareem Kamal A. Ghany, Taysir Hassan A. Soliman, Adel Abu El-Magd Sewisy
2019 J jnl
Algorithms
Amr Mohamed AbdelAziz, Taysir Hassan A. Soliman, Kareem Kamal A. Ghany, Adel Abu El-Magd Sewisy
2016 C conf
INISTA
Mustafa Abdul Salam, Hossam M. Zawbaa, Eid Emary, Kareem Kamal A. Ghany, Bazil Pârv
2015 conf
BCI
Eid Emary, Hossam M. Zawbaa, Kareem Kamal A. Ghany, Aboul Ella Hassanien, Bazil Pârv
2014 conf
IEEE Conf. on Intelligent Systems (2)
Ahmed Abdelaziz, Moustafa Zein, Mohammed Atef, Ammar Adl, Kareem Kamal A. Ghany, Aboul Ella Hassanien
2014 conf
ICACCI
Heba M. Sabri, Kareem Kamal A. Ghany, Hesham A. Hefny, Nashaat Elkhameesy
2013 C conf
HIS
Kareem Kamal A. Ghany, Hesham A. Hefny, Aboul Ella Hassanien, Mohamed Fahmy Tolba
2012 B conf
ASONAM
Kareem Kamal A. Ghany, Hesham A. Hefny, Aboul Ella Hassanien, Neveen I. Ghali
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()