Nathaniel Rochester

12 papers Journal 9Unranked 2
YearRankTypeTitle / Venue / Authors
2006 J jnl
AI Mag.
John McCarthy, Marvin Minsky, Nathaniel Rochester, Claude E. Shannon
1983 J jnl
IEEE Ann. Hist. Comput.
Nathaniel Rochester
1981 J jnl
IBM J. Res. Dev.
Charles J. Bashe, Werner Buchholz, George V. Hawkins, J. James Ingram, Nathaniel Rochester
1978 J jnl
Computer
Nathaniel Rochester, Frank C. Bequaert, Elmer M. Sharp
1960 ed.
IRE-AIEE-ACM Computer Conference (Eastern)
Nathaniel Rochester
1958 J jnl
IBM J. Res. Dev.
Herbert L. Gelernter, Nathaniel Rochester
1956 J jnl
IRE Trans. Inf. Theory
Nathaniel Rochester, John H. Holland, L. H. Haibt, William L. Duda
1955 conf
AIEE-IRE Computer Conference (Eastern)
Nathaniel Rochester
1954 J jnl
J. ACM
Charles J. Bashe, Wilfried Buchholz, Nathaniel Rochester
1953 J jnl
Trans. I R E Prof. Group Electron. Comput.
Nathaniel Rochester, Willis H. Ware
1953 J jnl
Trans. I R E Prof. Group Electron. Comput.
Nathaniel Rochester
1952 conf
ACM National Meeting (Pittsburgh)
Morton M. Astrahan, Nathaniel Rochester
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()