Ran Ziv

27 papers B 1Journal 26
YearRankTypeTitle / Venue / Authors
2022 J jnl
CoRR
Ran Ziv, Ilan Gronau, Michael Fire
2022 B conf
DSAA
Ran Ziv, Ilan Gronau, Michael Fire
2021 J jnl
SIAM J. Discret. Math.
Dani Kotlar, Elad Roda, Ran Ziv
2018 J jnl
J. Graph Theory
Ron Aharoni, Eli Berger, Dani Kotlar, Ran Ziv
2018 J jnl
Eur. J. Comb.
Ron Aharoni, Dani Kotlar, Ran Ziv
2017 J jnl
Electron. J. Comb.
Ron Aharoni, Eli Berger, Dani Kotlar, Ran Ziv
2017 J jnl
Electron. Notes Discret. Math.
Ron Aharoni, Eli Berger, Dani Kotlar, Ran Ziv
2017 J jnl
SIAM J. Discret. Math.
Ron Aharoni, Dani Kotlar, Ran Ziv
2017 J jnl
Electron. Notes Discret. Math.
Ron Aharoni, Eli Berger, Dani Kotlar, Ran Ziv
2016 J jnl
Electron. Notes Discret. Math.
Ron Aharoni, Eli Berger, Dani Kotlar, Ran Ziv
2016 J jnl
J. Comb. Theory B
Ron Aharoni, Daniel Kotlar, Ran Ziv
2015 J jnl
Electron. Notes Discret. Math.
Dani Kotlar, Ran Ziv
2015 J jnl
Discret. Math.
Daniel Kotlar, Ran Ziv
2014 J jnl
Eur. J. Comb.
Daniel Kotlar, Ran Ziv
2013 J jnl
J. Graph Theory
Daniel Kotlar, Ran Ziv
2013 J jnl
Electron. Notes Discret. Math.
Ron Aharoni, Daniel Kotlar, Ran Ziv
2012 J jnl
Electron. J. Comb.
Daniel Kotlar, Ran Ziv
2012 J jnl
Discret. Math.
Ron Aharoni, Eli Berger, Ran Ziv
2011 J jnl
J. Comput. Geom.
Roel Apfelbaum, Itay Ben-Dan, Stefan Felsner, Tillmann Miltzow, Rom Pinchasi, Torsten Ueckerdt, Ran Ziv
2010 J jnl
Comput. Geom.
Itay Ben-Dan, Rom Pinchasi, Ran Ziv
2009 J jnl
J. Comb. Theory A
Itay Ben-Dan, Rom Pinchasi, Ran Ziv
2008 J jnl
Discret. Math.
Eli Berger, Ran Ziv
2007 J jnl
Comb.
Ron Aharoni, Eli Berger, Ran Ziv
2005 J jnl
Discret. Math.
Daniel Kotlar, Ran Ziv
2002 J jnl
Comb.
Ron Aharoni, Eli Berger, Ran Ziv
1991 J jnl
Discret. Math.
Irith Ben-Arroyo Hartman, Ilan Newman, Ran Ziv
1990 J jnl
J. Comb. Theory B
Ron Aharoni, Ran Ziv
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()