Elasticsearch: Plugin Ingest Attachment

Comment extraire des données depuis des fichiers PPT, XLS et PDF vers Elasticsearch

👋 Bienvenue sur la documentation de Stackhero !

Stackhero propose une solution Elasticsearch cloud prête à l'emploi qui offre de nombreux avantages, notamment :

  • Performance optimale et sécurité renforcée grâce à une VM privée et dédiée.
  • Nom de domaine personnalisable sécurisé avec le support du chiffrement HTTPS.

Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Elasticsearch cloud hosting de Stackhero !

Le plugin Ingest Attachment analyse et extrait les métadonnées ainsi que le texte de différents formats de fichiers, notamment les présentations PowerPoint, les documents Excel et les fichiers PDF. Il s'appuie sur Apache Tika, une bibliothèque puissante d'extraction de texte. Pour consulter la liste complète des formats pris en charge, rendez-vous sur le site de Tika.

Ce guide vous accompagne pour débuter avec le plugin.

Commencez par activer le plugin dans la configuration Elasticsearch de Stackhero :

  1. Accédez à la section Elasticsearch sur votre tableau de bord Stackhero.
  2. Sélectionnez le plugin ingest-attachment parmi les options disponibles.

Tableau de bord StackheroTableau de bord Stackhero

Déclarez ensuite le pipeline attachment dans Elasticsearch. Dans cet exemple, le contenu à extraire est stocké dans le champ data :

PUT _ingest/pipeline/attachment
{
  "description": "Extract attachment information",
  "processors": [
    {
      "attachment": {
        "field": "data"
      }
    }
  ]
}

Nous vous recommandons d'utiliser les "Dev Tools" de Kibana pour exécuter facilement cette commande en copiant/collant.

Dev tools KibanaDev tools Kibana

Vous pouvez maintenant indexer un document contenant une pièce jointe. Le document doit inclure un champ data qui contient le contenu du fichier encodé en Base64. Dans cet exemple, le document est un fichier RTF contenant la phrase "This is the content of an RTF file" :

PUT my_index/_doc/my_id?pipeline=attachment
{
  "data": "e1xydGYxXGFuc2kKVGhpcyBpcyB0aGUgY29udGVudCBvZiBhIFJURiBmaWxlClxwYXIgfQ=="
}

Pour afficher le document traité, récupérez-le en utilisant son ID :

GET my_index/_doc/my_id

La réponse devrait ressembler à ceci :

{
  "_index" : "my_index",
  "_type" : "_doc",
  "_id" : "my_id",
  "_version" : 1,
  "found" : true,
  "_source" : {
    "data" : "e1xydGYxXGFuc2kKVGhpcyBpcyB0aGUgY29udGVudCBvZiBhIFJURiBmaWxlClxwYXIgfQ==",
    "attachment" : {
      "content_type" : "application/rtf",
      "language" : "en",
      "content" : "This is the content of a RTF file",
      "content_length" : 35
    }
  }
}

Vous remarquerez que le champ _source contient désormais à la fois les données originales en Base64 et les informations extraites de la pièce jointe, comme le type de fichier et le contenu.

Le plugin Ingest Attachment est un outil puissant et simple d'utilisation pour extraire le contenu et les métadonnées de nombreux formats de fichiers. Il s'intègre directement à Elasticsearch pour une ingestion de données fluide. Pour plus d'informations, consultez la documentation officielle.