Haibo Chen

12 papers Journal 9Unranked 3
YearRankTypeTitle / Venue / Authors
2024 J jnl
Int. J. Hum. Comput. Interact.
Evangelos Paschalidis, Siming Zhai, Junhua Guo, Tangjian Wei, Peng Liu, Haibo Chen
2023 J jnl
Eur. J. Oper. Res.
David P. Watling, Richard D. Connors, Haibo Chen
2022 J jnl
IEEE Trans. Intell. Transp. Syst.
Dongyao Jia, Haibo Chen, Zuduo Zheng, David P. Watling, Richard D. Connors, Jianbing Gao, Ying Li
2021 J jnl
Int. J. Syst. Dyn. Appl.
Gillian Harrison, Simon P. Shepherd, Haibo Chen
2019 conf
MT-ITS
David P. Watling, Richard D. Connors, Haibo Chen
2017 J jnl
IEEE Commun. Mag.
Jianqi Liu, Jiafu Wan, Dongyao Jia, Bi Zeng, Di Li, Ching-Hsien Hsu, Haibo Chen
2017 J jnl
IEEE Trans. Intell. Transp. Syst.
Bingyi Liu, Dongyao Jia, Kejie Lu, Haibo Chen, Rongwei Yang, Jianping Wang, Yvonne Barnard, Libing Wu
2017 conf
INFOCOM Workshops
Dongyao Jia, Bingyi Liu, Haibo Chen, Jingyuan Fan, Chunming Qiao, Jianping Wang, Libing Wu
2016 J jnl
J. Intell. Transp. Syst.
Christopher Leahy, Richard Batley, Haibo Chen
2013 conf
ITSC
Chao Lu, Haibo Chen, Susan Grant-Muller
2008 J jnl
Environ. Model. Softw.
Haibo Chen, Anil Namdeo, Margaret C. Bell
2008 J jnl
IEEE Trans. Intell. Transp. Syst.
Pietro Zito, Haibo Chen, Margaret C. Bell
redb/utils/push_to_elastic.py
← Index redb/utils/push_to_elastic.py python
import json
import os
#from redb.settings import elasticsearch as es
from elasticsearch import Elasticsearch
from dataclasses import asdict
from dotenv import load_dotenv

class Utils():
    """
    Utility class for pushing

    """
    @staticmethod
    def push_to_elastic(sample_dict):
        """
        Pushes the sample_dict to elastic search
        """
        load_dotenv()
        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", "redb_test"
        )
        es = Elasticsearch(
            ELASTIC_ENDPOINT,
            verify_certs=ELASTIC_ENFORCE_SSL,
            basic_auth=(ELASTIC_USER, ELASTIC_PASSWORD),
            maxsize=20,
            retry_on_timeout=True,
            timeout=30,
        )

        try:
            dict_dump = json.dumps(sample_dict)
        except Exception as e:
            print(f"Error: {e}")
            return False
        elastic = es.index(index=ELASTIC_BINARIES_COLLECTION, body=dict_dump)
        return True
    
    def push_to_index(sample_dict, index_name):
        """
        Pushes the sample_dict to elastic search
        """
        load_dotenv()
        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 = index_name
        
        es = Elasticsearch(
            ELASTIC_ENDPOINT,
            verify_certs=ELASTIC_ENFORCE_SSL,
            basic_auth=(ELASTIC_USER, ELASTIC_PASSWORD),
            maxsize=20,
            retry_on_timeout=True,
            timeout=30,
        )

        try:
            dict_dump = json.dumps(sample_dict)
        except Exception as e:
            print(f"Error: {e}")
            return False
        elastic = es.index(index=ELASTIC_BINARIES_COLLECTION, body=dict_dump)
        return True