web-dev-qa-db-fra.com

Comment indexer un fichier .PDF dans ElasticSearch

Je suis nouveau sur ElasticSearch. J'ai suivi un tutoriel très basique sur la création d'index. Je comprends bien le concept d'indexation. Je veux que ElasticSearch cherche dans un fichier .PDF. D'après ma compréhension de la création d'index, il me semble que je dois lire le fichier .PDF et extraire tous les mots-clés pour l'indexation. Mais, je ne comprends pas quelles étapes je dois suivre. Comment lire le fichier .PFD pour extraire les mots-clés.

14
KurioZ7

Vous devez consulter le plugin elasticsearch-mapper-attachments , car il est très susceptible de vous aider à atteindre vos objectifs.

8
Val

Il semble que le plugin elasticsearch-mapper-attachment soit obsolète dans la version 5.0.0 (publié le 26 octobre 2016). La documentation recommande d'utiliser le plug-in Ingest Attachment Processor en remplacement.

À installer:

Sudo bin/elasticsearch-plugin install ingest-attachment

Voir Comment indexer un fichier pdf dans Elasticsearch 5.0.0 avec le plugin ingest-attachment? pour plus d'informations sur l'utilisation du plug-in Ingest Attachment.

34
Ben.12

Installez le plugin Elasticsearch mapper-attachment et utilisez un code similaire à:

public String indexDocument(String filePath, DataDTO dto) {
        IndexResponse response = null;
        try {
            response = this.prepareIndexRequest("collectionName").setId(dto.getId())
                    .setSource(jsonBuilder().startObject()
                    .field("file", Base64.encodeFromFile(filePath))
                    .endObject()).setRefresh(true).execute().actionGet();
        } catch (ElasticsearchException e) {
            //
        } catch (IOException e) {
            //
        }
    return response.getId();
}
6
sanesearch

Comme mentionné précédemment, le plugin elasticsearch-mapper-attachment est obsolète et le plugin Ingest Attachment peut être utilisé 

https://www.elastic.co/guide/fr/elasticsearch/plugins/current/ingest-attachment.html

2
fakturk

Pour mon projet, je devais également rendre mes fichiers .PDF locaux accessibles à la recherche ..__, ce que j’ai réalisé en suivant:

  1. Extraire les données d'un fichier .PDF avec Apache Tika , j'ai utilisé Apache Tika, car cela me donne la liberté d'extraire des données de différentes extensions
  2. Utilisé la sortie de Apache Tika pour l'indexation.

Habituellement, mon index ressemblait à:

{ nom de fichier: "FILENAME", fichier: "Données extraites d'Apache Tika" }


Il existe de nombreuses solutions différentes, comme mentionné ici, qui utilise également Le plugin Elasticsearch mapper-attachment est une excellente solution ..__ J'ai choisi cette approche car je souhaitais travailler avec des fichiers volumineux et des extensions différentes.

0
Ayush pratap