Nannan He

18 papers A* 1A 1B 1C 3Unranked 11
YearRankTypeTitle / Venue / Authors
2019 conf
IScIDE (2)
Nannan He, Dong Huang
2018 B conf
MDM
Shixin Luo, Yibin Ng, Terence Zheng Wei Lim, Cliff Choon Hua Tan, Nannan He, Giuseppe Manai, Ying Li
2017 conf
MIPPR
Tong Li, Kai Xie, Qiaojie Wang, Nannan He, Yushan Ye
2017 conf
MIPPR
Tong Li, Kai Xie, Nannan He, Yushan Ye
2017 conf
MIPPR
Nannan He, Kai Xie, Tong Li, Yushan Ye
2017 conf
CISP-BMEI
Yushan Ye, Kai Xie, Tong Li, Nannan He
2017 C conf
FIE
Nannan He, Rajeev Bukralia, Han-Way Huang
2017 conf
EIT
Nannan He, Han-Way Huang
2016 conf
EIT
Nannan He, Ying Qian, Han-Way Huang
2016 conf
EIT
Nannan He, Victor Oke, Gale Allen
2016 C conf
FIE
Nannan He, Han-Way Huang, Ying Qian
2011 A* conf
DAC
Nannan He, Philipp Rümmer, Daniel Kroening
2010 conf
FMCO
Alastair F. Donaldson, Nannan He, Daniel Kroening, Philipp Rümmer
2009 A conf
DATE
Nannan He, Michael S. Hsiao
2009
Nannan He
2009 conf
FMCO
Angelo Brillout, Nannan He, Michele Mazzucchi, Daniel Kroening, Mitra Purandare, Philipp Rümmer, Georg Weissenbacher
2007 C conf
ICCD
Nannan He, Michael S. Hsiao
2005 conf
WRAC
Boby George, Shawn A. Bohner, Nannan He
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()