Jamal Laoudi

12 papers B 5C 2Journal 1Unranked 4
YearRankTypeTitle / Venue / Authors
2018 conf
LAW-MWE-CxG@COLING
Jamal Laoudi, Claire Bonial, Lucia Donatelli, Stephen Tratz, Clare R. Voss
2016 conf
AMTA (2)
Taylor Cassidy, Jamal Laoudi, Clare R. Voss
2014 B conf
LREC
Clare R. Voss, Stephen Tratz, Jamal Laoudi, Douglas M. Briesch
2014 J jnl
IEEE J. Sel. Top. Signal Process.
Dong Wang, Md. Tanvir Al Amin, Tarek F. Abdelzaher, Dan Roth, Clare R. Voss, Lance M. Kaplan, Stephen Tratz, Jamal Laoudi, Douglas M. Briesch
2014 conf
HyTra@EACL
Stephen Tratz, Clare R. Voss, Jamal Laoudi
2013 conf
LAW@ACL
Stephen Tratz, Douglas M. Briesch, Jamal Laoudi, Clare R. Voss
2012 B conf
LREC
Claire Jaja, Douglas M. Briesch, Jamal Laoudi, Clare R. Voss
2008 C conf
EAMT
Clare R. Voss, Matthew Aguirre, Jeffrey Micher, Richard Chang, Jamal Laoudi, Reginald L. Hobbs
2008 B conf
LREC
Clare R. Voss, Jamal Laoudi, Jeffrey Micher
2008 B conf
LREC
Reginald L. Hobbs, Jamal Laoudi, Clare R. Voss
2006 B conf
LREC
Jamal Laoudi, Calanda R. Tate, Clare R. Voss
2004 C conf
EAMT
Jamal Laoudi, Calanda R. Tate, Clare R. Voss
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()