Iraklis Anagnostopoulos

100 papers A* 3A 11B 2C 12Journal 44Unranked 26
YearRankTypeTitle / Venue / Authors
2025 conf
ISVLSI
Aikaterini Maria Panteleaki, Varatheepan Paramanayakam, Vasileios Pentsos, Andreas Karatzas, Spyros Tragoudas, Iraklis Anagnostopoulos
2025 J jnl
CoRR
Aikaterini Maria Panteleaki, Varatheepan Paramanayakam, Vasileios Pentsos, Andreas Karatzas, Spyros Tragoudas, Iraklis Anagnostopoulos
2025 C conf
ISCAS
Ourania Spantidi, Georgios Zervakis, Jörg Henkel, Iraklis Anagnostopoulos
2025 J jnl
IEEE Trans. Emerg. Top. Comput.
Andreas Karatzas, Iraklis Anagnostopoulos
2025 conf
ISVLSI
Aikaterini Maria Panteleaki, Konstantinos Balaskas, Georgios Zervakis, Hussam Amrouch, Iraklis Anagnostopoulos
2025 J jnl
CoRR
Aikaterini Maria Panteleaki, Konstantinos Balaskas, Georgios Zervakis, Hussam Amrouch, Iraklis Anagnostopoulos
2025 J jnl
CoRR
Varatheepan Paramanayakam, Andreas Karatzas, Iraklis Anagnostopoulos, Dimitrios Stamoulis
2025 J jnl
CoRR
Varatheepan Paramanayakam, Andreas Karatzas, Dimitrios Stamoulis, Iraklis Anagnostopoulos
2025 J jnl
IEEE Trans. Computers
Varatheepan Paramanayakam, Andreas Karatzas, Dimitrios Stamoulis, Iraklis Anagnostopoulos
2025 A conf
DATE
Aikaterini Maria Panteleaki, Konstantinos Balaskas, Georgios Zervakis, Hussam Amrouch, Iraklis Anagnostopoulos
2025 J jnl
CoRR
Aikaterini Maria Panteleaki, Konstantinos Balaskas, Georgios Zervakis, Hussam Amrouch, Iraklis Anagnostopoulos
2025 A conf
DATE
Varatheepan Paramanayakam, Andreas Karatzas, Iraklis Anagnostopoulos, Dimitrios Stamoulis
2025 J jnl
IEEE Access
Georgios Zervakis, Fabio Frustaci, Ourania Spantidi, Iraklis Anagnostopoulos, Hussam Amrouch, Jörg Henkel
2025 C conf
ISCAS
Vasileios Pentsos, Ourania Spantidi, Georgios Zervakis, Iraklis Anagnostopoulos
2025 J jnl
CoRR
Chaehong Lee, Varatheepan Paramanayakam, Andreas Karatzas, Yanan Jian, Michael Fore, Heming Liao, Fuxun Yu, Ruopu Li, Iraklis Anagnostopoulos, Dimitrios Stamoulis
2025 A conf
DATE
Andreas Karatzas, Dimitrios Stamoulis, Iraklis Anagnostopoulos
2025 B conf
GLOBECOM
Syed Mhamudul Hasan, Hussein Zangoti, Iraklis Anagnostopoulos, Abdur R. Shahid
2025 J jnl
CoRR
Syed Mhamudul Hasan, Hussein Zangoti, Iraklis Anagnostopoulos, Abdur Rahman Bin Shahid
2024 J jnl
CoRR
Simranjit Singh, Andreas Karatzas, Michael Fore, Iraklis Anagnostopoulos, Dimitrios Stamoulis
2024 conf
ISVLSI
Aikaterini Maria Panteleaki, Iraklis Anagnostopoulos
2024 B conf
IEEE Big Data
Amirhossein Nazeri, Denys W. Godwin, Aikaterini Maria Panteleaki, Iraklis Anagnostopoulos, Michael I. Edidem, Ruopu Li, Tong Shu
2024 J jnl
IEEE Trans. Emerg. Top. Comput.
Konstantinos Balaskas, Andreas Karatzas, Christos Sad, Kostas Siozios, Iraklis Anagnostopoulos, Georgios Zervakis, Jörg Henkel
2024 J jnl
CoRR
Simranjit Singh, Michael Fore, Andreas Karatzas, Chaehong Lee, Yanan Jian, Longfei Shangguan, Fuxun Yu, Iraklis Anagnostopoulos, Dimitrios Stamoulis
2024 J jnl
CoRR
Varatheepan Paramanayakam, Andreas Karatzas, Iraklis Anagnostopoulos, Dimitrios Stamoulis
2024 J jnl
CoRR
Georgios Zervakis, Fabio Frustaci, Ourania Spantidi, Iraklis Anagnostopoulos, Hussam Amrouch, Jörg Henkel
2024 A conf
ICCAD
Andreas Karatzas, Iraklis Anagnostopoulos
2024 J jnl
IEEE Embed. Syst. Lett.
Andreas Karatzas, Iraklis Anagnostopoulos
2024 J jnl
CoRR
Andreas Karatzas, Dimitrios Stamoulis, Iraklis Anagnostopoulos
2023 A conf
DATE
Ourania Spantidi, Iraklis Anagnostopoulos
2023 J jnl
CoRR
Konstantinos Balaskas, Andreas Karatzas, Christos Sad, Kostas Siozios, Iraklis Anagnostopoulos, Georgios Zervakis, Jörg Henkel
2023 A* conf
DAC
Andreas Karatzas, Iraklis Anagnostopoulos
2023 J jnl
CoRR
Andreas Karatzas, Iraklis Anagnostopoulos
2023 conf
SC Workshops
Yuke Li, Jiwon Baik, Md Marufi Rahman, Iraklis Anagnostopoulos, Ruopu Li, Tong Shu
2023 J jnl
IEEE Trans. Emerg. Top. Comput.
Ourania Spantidi, Georgios Zervakis, Sami Alsalamin, Isai Roman-Ballesteros, Jörg Henkel, Hussam Amrouch, Iraklis Anagnostopoulos
2023 C conf
HPSR
Ourania Spantidi, Iraklis Anagnostopoulos
2022 J jnl
ACM Trans. Archit. Code Optim.
Shivam Kundan, Theodoros Marinakis, Iraklis Anagnostopoulos, Dimitri Kagaris
2022 ch.
Approximate Computing
Georgios Zervakis, Iraklis Anagnostopoulos, Hussam Amrouch, Jörg Henkel
2022 J jnl
IEEE Trans. Green Commun. Netw.
Nafis Irtija, Iraklis Anagnostopoulos, Georgios Zervakis, Eirini-Eleni Tsiropoulou, Hussam Amrouch, Jörg Henkel
2022 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Ourania Spantidi, Georgios Zervakis, Iraklis Anagnostopoulos, Jörg Henkel
2022 J jnl
CoRR
Ourania Spantidi, Georgios Zervakis, Iraklis Anagnostopoulos, Jörg Henkel
2022 C conf
ISCAS
Ourania Spantidi, Theodoros Marinakis, Iraklis Anagnostopoulos
2022 conf
ISQED
Ourania Spantidi, Iraklis Anagnostopoulos
2022 J jnl
IEEE Trans. Computers
Georgios Zervakis, Iraklis Anagnostopoulos, Sami Salamin, Ourania Spantidi, Isai Roman-Ballesteros, Jörg Henkel, Hussam Amrouch
2021 A* conf
DAC
Georgios Zervakis, Ourania Spantidi, Iraklis Anagnostopoulos, Hussam Amrouch, Jörg Henkel
2021 J jnl
CoRR
Georgios Zervakis, Ourania Spantidi, Iraklis Anagnostopoulos, Hussam Amrouch, Jörg Henkel
2021 J jnl
IEEE Embed. Syst. Lett.
Ioannis Galanis, Sai Saketh Nandan Perala, Lincoln Kinley, Iraklis Anagnostopoulos
2021 J jnl
IEEE Trans. Circuits Syst. II Express Briefs
Ioannis Galanis, Iraklis Anagnostopoulos, Chinh Nguyen, Guillermo Bares
2021 A conf
DATE
Ourania Spantidi, Iraklis Anagnostopoulos, Georgios Fainekos
2021 J jnl
IEEE Access
Georgios Zervakis, Iraklis Anagnostopoulos, Sami Salamin, Yogesh Singh Chauhan, Jörg Henkel, Hussam Amrouch
2021 J jnl
Comput. Electr. Eng.
Shivam Kundan, Ourania Spantidi, Iraklis Anagnostopoulos
2021 A conf
ICCAD
Ourania Spantidi, Georgios Zervakis, Iraklis Anagnostopoulos, Hussam Amrouch, Jörg Henkel
2021 J jnl
CoRR
Ourania Spantidi, Georgios Zervakis, Iraklis Anagnostopoulos, Hussam Amrouch, Jörg Henkel
2021 C conf
ISCAS
Shivam Kundan, Iraklis Anagnostopoulos
2021 A conf
DATE
Sami Salamin, Georgios Zervakis, Ourania Spantidi, Iraklis Anagnostopoulos, Jörg Henkel, Hussam Amrouch
2021 J jnl
CoRR
Sami Salamin, Georgios Zervakis, Ourania Spantidi, Iraklis Anagnostopoulos, Jörg Henkel, Hussam Amrouch
2020 C conf
ISCAS
Shivam Kundan, Iraklis Anagnostopoulos
2020 C conf
ISCAS
Konstantinos Poulos, Iraklis Anagnostopoulos, Themistoklis Haniotakis
2020 conf
WF-IoT
Jonathan Dickerson, Ioannis Galanis, Zois-Gerasimos Tasoulas, Lincoln Kinley, Iraklis Anagnostopoulos
2020 conf
WF-IoT
Ourania Spantidi, Ioannis Galanis, Iraklis Anagnostopoulos
2020 conf
ISVLSI
Ioannis Galanis, Iraklis Anagnostopoulos, Chinh Nguyen, Guillermo Bares, Dona Burkard
2020 J jnl
IEEE Trans. Circuits Syst. I Regul. Pap.
Zois-Gerasimos Tasoulas, Iraklis Anagnostopoulos
2020 J jnl
IEEE Embed. Syst. Lett.
Theodoros Marinakis, Shivam Kundan, Iraklis Anagnostopoulos
2020 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Hussam Amrouch, Georgios Zervakis, Sami Salamin, Hammam Kattan, Iraklis Anagnostopoulos, Jörg Henkel
2020 conf
ICECS
Iraklis Anagnostopoulos, Dimitri Kagaris, Jeff Schmidt
2020 J jnl
IEEE Trans. Circuits Syst.
Zois-Gerasimos Tasoulas, Georgios Zervakis, Iraklis Anagnostopoulos, Hussam Amrouch, Jörg Henkel
2019 J jnl
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.
Zois-Gerasimos Tasoulas, Iraklis Anagnostopoulos, Lazaros Papadopoulos, Dimitrios Soudris
2019 J jnl
Future Internet
Ioannis Galanis, Iraklis Anagnostopoulos, Priyaa Gurunathan, Dona Burkard
2019 J jnl
IEEE Comput. Archit. Lett.
Theodoros Marinakis, Iraklis Anagnostopoulos
2019 conf
COINS
Ioannis Galanis, Theodoros Marinakis, Iraklis Anagnostopoulos
2018 J jnl
ACM Trans. Embed. Comput. Syst.
Vasileios Tsoutsouras, Iraklis Anagnostopoulos, Dimosthenis Masouros, Dimitrios Soudris
2018 conf
ICECS
Mohammad Mohammad, Iraklis Anagnostopoulos
2018 C conf
ISCAS
Sai Saketh Nandan Perala, Ioannis Galanis, Iraklis Anagnostopoulos
2018 conf
ICECS
Zois-Gerasimos Tasoulas, Iraklis Anagnostopoulos
2018 conf
DFT
Zois-Gerasimos Tasoulas, Ryan Guss, Iraklis Anagnostopoulos
2018 A conf
DATE
Jayasimha Sai Koduri, Iraklis Anagnostopoulos
2018 A conf
DATE
Srinivasa Reddy Punyala, Theodoros Marinakis, Arash Komaee, Iraklis Anagnostopoulos
2018 C conf
ISCAS
Ioannis Galanis, Priyaa Gurunathan, Dona Burkard, Iraklis Anagnostopoulos
2017 C conf
ISCAS
Ioannis Galanis, Daniel Olsen, Iraklis Anagnostopoulos
2017 C conf
ISCAS
Theodoros Marinakis, Alexandros-Herodotos Haritatos, Konstantinos Nikas, Georgios I. Goumas, Iraklis Anagnostopoulos
2017 C conf
ISCAS
Setareh Behroozi, Iraklis Anagnostopoulos
2017 conf
ACM Great Lakes Symposium on VLSI
Daniel Olsen, Iraklis Anagnostopoulos
2016 conf
ICECS
Themistoklis Melissaris, Iraklis Anagnostopoulos, Dimitrios Soudris, Dionysios I. Reisis
2016 J jnl
IEEE Embed. Syst. Lett.
Ioannis Koutras, Iraklis Anagnostopoulos, Alexandros Bartzas, Dimitrios Soudris
2014 conf
ICECS
Konstantinos Gyftakis, Iraklis Anagnostopoulos, Dimitrios Soudris, Dionysios I. Reisis
2014
Iraklis Anagnostopoulos
2013 A* conf
DAC
Iraklis Anagnostopoulos, Vasileios Tsoutsouras, Alexandros Bartzas, Dimitrios Soudris
2013 J jnl
ACM Trans. Embed. Comput. Syst.
Iraklis Anagnostopoulos, Jean-Michel Chabloz, Ioannis Koutras, Alexandros Bartzas, Ahmed Hemani, Dimitrios Soudris
2012 A conf
DATE
Iraklis Anagnostopoulos, Alexandros Bartzas, Georgios Kathareios, Dimitrios Soudris
2012 J jnl
Des. Autom. Embed. Syst.
Iraklis Anagnostopoulos, Alexandros Bartzas, Iasonas Filippopoulos, Dimitrios Soudris
2011 J jnl
IEEE Embed. Syst. Lett.
Iraklis Anagnostopoulos, Sotirios Xydis, Alexandros Bartzas, Zhonghai Lu, Dimitrios Soudris, Axel Jantsch
2011 conf
ReCoSoC
Cristina Silvano, William Fornaciari, Stefano Crespi-Reghizzi, Giovanni Agosta, Gianluca Palermo, Vittorio Zaccaria, Patrick Bellasi, Fabrizio Castro, Simone Corbetta, Ettore Speziale, Diego Melpignano, J. M. Zins, Heiko Hübert, Benno Stabernack, Jens Brandenburg, Martin Palkovic, Praveen Raghavan, Chantal Ykman-Couvreur, Iraklis Anagnostopoulos, Alexandros Bartzas, Dimitrios Soudris, Torsten Kempf, Gerd Ascheid, Junaid Ansari, Petri Mähönen, Bart Vanthournout
2011 conf
ReCoSoC
Kostas Siozios, Dionysios Diamantopoulos, Ioannis Kostavelis, Evangelos Boukas, Lazaros Nalpantidis, Dimitrios Soudris, Antonios Gasteratos, Marcos Avilés, Iraklis Anagnostopoulos
2010 conf
ISVLSI
Kostas Siozios, Iraklis Anagnostopoulos, Dimitrios Soudris
2010 conf
ICSAMOS
Sotirios Xydis, Alexandros Bartzas, Iraklis Anagnostopoulos, Dimitrios Soudris, Kiamal Z. Pekmestzi
2010 conf
ISVLSI
Bernard Candaele, Sylvain Aguirre, Michel Sarlotte, Iraklis Anagnostopoulos, Sotirios Xydis, Alexandros Bartzas, Dimitris Bekiaris, Dimitrios Soudris, Zhonghai Lu, Xiaowen Chen, Jean-Michel Chabloz, Ahmed Hemani, Axel Jantsch, Geert Vanmeerbeeck, Jari Kreku, Kari Tiensyrjä, Fragkiskos Ieromnimon, Dimitrios Kritharidis, Andreas Wiefrink, Bart Vanthournout, Philippe Martin
2010 conf
ICECS
Kostas Siozios, Iraklis Anagnostopoulos, Dimitrios Soudris
2010 conf
ISVLSI
Iasonas Filippopoulos, Iraklis Anagnostopoulos, Alexandros Bartzas, Dimitrios Soudris, George Economakos
2010 conf
ISVLSI (Selected papers)
Bernard Candaele, Sylvain Aguirre, Michel Sarlotte, Iraklis Anagnostopoulos, Sotirios Xydis, Alexandros Bartzas, Dimitris Bekiaris, Dimitrios Soudris, Zhonghai Lu, Xiaowen Chen, Jean-Michel Chabloz, Ahmed Hemani, Axel Jantsch, Geert Vanmeerbeeck, Jari Kreku, Kari Tiensyrjä, Fragkiskos Ieromnimon, Dimitrios Kritharidis, Andreas Wiefrink, Bart Vanthournout, Philippe Martin
2009 conf
PATMOS
Iraklis Anagnostopoulos, Alexandros Bartzas, Dimitrios Soudris
2009 conf
DPS
Iraklis Anagnostopoulos, Alexandros Bartzas, Ioannis Vourkas, Dimitrios Soudris
redb/extractors/extractor.py
← Index redb/extractors/extractor.py python
import hashlib
import inspect
from abc import ABCMeta, abstractmethod
from dataclasses import asdict
from functools import cached_property
from datetime import datetime, timezone
import math
from typing import Counter, List, Optional, Dict, Any, Tuple
from redb import settings
from redb.models.dataclasses import Hash
from .database_exporters import DatabaseExporter, ElasticsearchExporter, ClickHouseExporter, PrintExporter

class Extractor(metaclass=ABCMeta):
    def __init__(
        self,
        filepath: str,
        log: Any,
        exporters: Optional[List[DatabaseExporter]] = None,
        index_prefix: Optional[str] = None,
        source: Optional[str] = None,
        elastic_index: Optional[str] = None,
        known_benign: bool = False,
        known_malicious: bool = False,
        precomputed_hashes: Optional[Dict[str, str]] = None,
    ):
        self.log = log
        self.log.debug(f"Creating {self.__class__.__name__}")
        self.filepath = filepath
        self.source = source
        self.exporters = exporters or []
        self.index_prefix = index_prefix if index_prefix else settings.ELASTIC_BINARIES_COLLECTION
        self.elastic_index = self.index_prefix + (elastic_index if elastic_index else "")
        self.known_benign = known_benign
        self.known_malicious = known_malicious

        # Use precomputed hashes if provided (e.g., from machofile, pefile)
        # Otherwise compute them from binary
        if precomputed_hashes:
            self.md5 = precomputed_hashes.get('md5') or precomputed_hashes.get('MD5')
            self.sha1 = precomputed_hashes.get('sha1') or precomputed_hashes.get('SHA1')
            self.sha256 = precomputed_hashes.get('sha256') or precomputed_hashes.get('SHA256')
        else:
            self.md5 = hashlib.md5(self.binary).hexdigest()
            self.sha1 = hashlib.sha1(self.binary).hexdigest()
            self.sha256 = hashlib.sha256(self.binary).hexdigest()
        self.hash = Hash(self.md5, self.sha1, self.sha256)

    @cached_property
    def binary(self):
        with open(self.filepath, "rb") as f:
            data = f.read()
        return data

    @property
    @abstractmethod
    def tag(self):
        pass

    @abstractmethod
    def extract(self):
        """
        this method defines the extracted data
        """

    @staticmethod
    def process_binary_string(s):
        # Remove \x00 padding
        s = s.rstrip(b"\x00")

        # Check if there are any non-printable characters
        has_non_printable = any(byte < 32 or byte > 126 for byte in s)

        if not has_non_printable:
            # If all characters are printable, decode the string
            return s.decode()
        else:
            # If there are non-printable characters, represent them as \xDD
            return "".join(
                [
                    f"\\x{byte:02x}" if byte < 32 or byte > 126 else chr(byte)
                    for byte in s
                ]
            )

    @staticmethod
    def remove_non_utf8(binary_string):
        decoded = b""
        for i in range(len(binary_string)):
            try:
                # Try to decode each byte
                char = binary_string[i : i + 1].decode("utf-8")
                decoded += char.encode("utf-8")
            except UnicodeDecodeError:
                # Skip this byte if it can't be decoded
                continue
        return decoded

    def calculate_entropy(self, data):
        """Calculate the entropy of a chunk of data.
        Based on pefile.SectionStructure.entropy_H.
        """
        # self.log.debug(inspect.currentframe().f_code.co_name)
        if not data:
            return 0.0

        if type(data) == str:
            counts = Counter(data)
            frequencies = ((i / len(data)) for i in counts.values())
            return - sum(f * math.log(f, 2) for f in frequencies)
        else:
            occurences = Counter(bytearray(data))
            entropy = 0
            for x in occurences.values():
                p_x = float(x) / len(data)
                entropy -= p_x * math.log(p_x, 2)
            return entropy

    @abstractmethod
    def prepare_export_data(self, exporter_type: str) -> Tuple[List[Any], List[str], List[str]]:
        """
        Prepare data for specific export type
        Returns:
            Tuple containing:
            - data: List of values to insert
            - column_names: List of column names
            - column_type_names: List of column types
        """
        pass

    def export_data(self):
        """Export data to all configured exporters

        Returns:
            True: Export succeeded
            False: Export failed (actual error)
            None: No data to export (not an error, e.g., no overlay, no signature)
        """
        self.log.debug(inspect.currentframe().f_code.co_name)
        success = True
        extracted_data = self.extract()

        if extracted_data is None:
            self.log.debug("extract() returned None, skipping export")
            return None  # No data to export, not a failure
            
        for exporter in self.exporters:
            if isinstance(exporter, PrintExporter):
                # For PrintExporter, we pass the extracted data directly
                success &= exporter.export(extracted_data)
            else:
                # Get the data prepared for this specific exporter type
                export_data = self.prepare_export_data(exporter.__class__.__name__)
                
                if export_data is None:
                    self.log.debug(f"prepare_export_data returned None for {exporter.__class__.__name__}")
                    return False
                
                if isinstance(exporter, ElasticsearchExporter):
                    success &= exporter.export(
                        export_data,
                        index=self.elastic_index,
                        tag=self.tag(),
                        hashes=asdict(self.hash),
                        known_benign=self.known_benign,
                        known_malicious=self.known_malicious
                    )
                elif isinstance(exporter, ClickHouseExporter):
                    # For ClickHouse, we need to pass the table name and the prepared data
                    success &= exporter.export(
                        export_data,
                        table=self.get_clickhouse_table(),
                        # Add these parameters explicitly
                        column_names=export_data[1] if isinstance(export_data, tuple) else None,
                        column_type_names=export_data[2] if isinstance(export_data, tuple) else None
                    )
                
        return success

    @abstractmethod
    def get_clickhouse_table(self) -> str:
        """Return the appropriate ClickHouse table name"""
        pass
    # def export_to_elastic(self, list_of_dataclasses, tag=None):
    #     self.log.debug(inspect.currentframe().f_code.co_name)

    #     if not isinstance(list_of_dataclasses, list):
    #         self.log.error("Called export_to_elastic wrongly")

    #     now_t = datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M:%S")
    #     for dataclass_ in list_of_dataclasses:
    #         if not settings.ELASTIC_CLIENT.ping():
    #             self.log.error("[CONNECTION ERROR] ping to elastic failed")
            
    #         # Convert dataclass to dict and filter out None values
    #         document = {k: v for k, v in asdict(dataclass_).items() if v is not None}
            
    #         if tag:
    #             document["tag"] = [tag, self.tag()]
    #         else:
    #             document["tag"] = self.tag()
    #         hashes = asdict(self.hash)
    #         document |= hashes
    #         document["timestamp_utc"] = now_t
    #         # document["source"] = self.source
    #         document["known_benign"] = self.known_benign
    #         document["known_malicious"] = self.known_malicious

    #         if "_id" in document:
    #             tmp_id = document.pop("_id") + document["sha256"]
    #             _id = hashlib.sha256(tmp_id.encode()).hexdigest()
    #         else:
    #             _id = document["sha256"]

    #         # self.log.debug(f"[DEBUG] about to export {type(document)} {document}")
    #         try:
    #             doc_dump = json.dumps(document)
    #         except TypeError as e:
    #             self.log.error(
    #                 f"Failed export of document. " f"full document: {document}"
    #             )
    #             raise e

    #         # body={"doc": doc_dump,
    #         #       "doc_as_upsert": True  # Create the document if it doesn't exist
    #         # }

    #         # Check if the index exists, and create it if it doesn't
    #         # if not settings.ELASTIC_CLIENT.indices.exists(index=self.elastic_index):
    #         #     settings.ELASTIC_CLIENT.indices.create(index=self.elastic_index)
    #         # pprint(doc_dump) #DEBUG
    #         # print("[DEBUG] _id: " + _id)
    #         # print("[DEBUG] index: " + self.elastic_index)
    #         settings.ELASTIC_CLIENT.index(
    #             index=self.elastic_index, id=_id, document=doc_dump
    #         )