Xiangcheng Wang

11 papers C 1Misc 1Journal 7Unranked 2
YearRankTypeTitle / Venue / Authors
2026 J jnl
Phys. Commun.
Ying Lin, Haomin Li, Bowen Zheng, Xuefeng Jing, Xiangcheng Wang
2025 J jnl
Signal Image Video Process.
Xi Cai, Xiangcheng Wang, Yin Jiao, Yinuo Chen, Guang Han
2025 J jnl
Signal Image Video Process.
Xi Cai, Xiangcheng Wang, Kexin Bao, Yinuo Chen, Yin Jiao, Guang Han
2024 J jnl
Neural Comput. Appl.
Xin Yang, Jiangfeng Fan, Xiangcheng Wang, Tao Li
2024 J jnl
Symmetry
Ying Lin, Xingbo Gong, Yongwei Xiong, Haomin Li, Xiangcheng Wang
2023 J jnl
IEEE Geosci. Remote. Sens. Lett.
Yuchun Lu, Jifang Pei, Xiangcheng Wang, Yin Zhang, Weibo Huo, Yulin Huang, Jianyu Yang
2023 C conf
ICCC
Xiangcheng Wang, Ju Liu, Zheng Dong, Ziyu Li, Qian Zhang, Lina Zheng
2023 J jnl
Appl. Intell.
Xin Yang, Liao Bingxian, Xiangcheng Wang
2019 Misc conf
WISA
Ming Gao, Yunbing Zong, Rui Li, Chengzhi An, Qiang Duan, Qingshan Yin, Xiangcheng Wang
2010 conf
IUCS
Ying Liu, Xiangcheng Wang
2008 conf
ICNC (2)
Xiangcheng Wang, Ying Liu, Lianhong Cai
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()