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.
Vous devez consulter le plugin elasticsearch-mapper-attachments , car il est très susceptible de vous aider à atteindre vos objectifs.
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.
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();
}
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
Pour mon projet, je devais également rendre mes fichiers .PDF locaux accessibles à la recherche ..__, ce que j’ai réalisé en suivant:
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.