web-dev-qa-db-fra.com

Indexage PDF avec Solr

Quelqu'un peut-il m'indiquer un tutoriel.

Mon expérience principale avec Solr est l'indexation de fichiers CSV. Mais je ne trouve aucune instruction/tutoriel simple pour me dire ce que je dois faire pour indexer les PDF.

J'ai vu ceci: http://wiki.Apache.org/solr/ExtractingRequestHandler

Mais cela a très peu de sens pour moi. Dois-je installer Tika?

Je suis perdu - aide s'il te plaît

15
Mark

Le plus difficile est d’obtenir les métadonnées des fichiers PDF à l’aide d’un outil tel que Aperture simplifie cette opération. Il doit y avoir des tonnes de ces outils

Aperture est un framework Java permettant d'extraire et d'interroger du contenu de texte intégral et des métadonnées à partir de fichiers PDF.

Apeture a saisi les métadonnées des fichiers PDF et les a stockées dans des fichiers XML. 

J'ai analysé les fichiers XML à l'aide de LXML et les ai envoyés à Solr

1
Mark

Avec solr-4.9 (la dernière version à ce jour), extraire des données de documents riches tels que des fichiers PDF, des feuilles de calcul (xls, famille xlxs), des présentations (ppt, ppts), de la documentation (doc, txt, etc.) est devenu relativement simple. Les exemples de code fournis dans l’archive téléchargée de here contiennent un projet de modèle de solr de base pour vous permettre de démarrer rapidement.

Les modifications de configuration nécessaires sont les suivantes:

  1. Changez le solrConfig.xml pour inclure les lignes suivantes:

    <lib dir="<path_to_extraction_libs>" regex=".*\.jar" /> <lib dir="<path_to_solr_cell_jar>" regex="solr-cell-\d.*\.jar" />

créez un gestionnaire de requêtes comme suit:

<requestHandler name="/update/extract" startup="lazy" class="solr.extraction.ExtractingRequestHandler" > <lst name="defaults" /> </requestHandler>

2.Ajoutez les jars nécessaires de solrExample à votre projet.

3.Définissez le schéma selon vos besoins et lancez une requête du type: 

curl "http://localhost:8983/solr/collection1/update/extract?literal.id=1&literal.filename=testDocToExtractFrom.txt&literal.created_at=2014-07-22+09:50:12.234&commit=true" -F "[email protected]"

accédez au portail de l'interface graphique et interrogez-le pour afficher le contenu indexé. 

Faites-moi savoir si vous rencontrez des problèmes.

17
Raj Saxena

Vous pouvez utiliser le dataImportHandler. Le DataImortHandle sera défini dans le fichier solrconfig.xml. La configuration du DataImportHandler doit être réalisée dans un fichier de configuration XML différent (data-config.xml).

Pour indexer les pdf, vous pouvez 

1.) explorez le répertoire pour trouver tous les pdf en utilisant le FileListEntityProcessor

2.) lire les pdf à partir d'un fichier -XML "content/index", en utilisant le XPathEntityProcessor

Si vous avez la liste des pdf associés, utilisez le TikaEntityProcessor Regardez ceci http://solr.pl/fr/2011/04/04/indexing-files-like-doc-pdf-solr -and-tika-integration/ (exemple avec ppt) et ceci Solr: gestionnaire d'importation de données et cellule solr

4
The Bndr
public class SolrCellRequestDemo {
public static void main (String[] args) throws IOException, SolrServerException {
SolrClient client = new
HttpSolrClient.Builder("http://localhost:8983/solr/my_collection").build();
ContentStreamUpdateRequest req = new
ContentStreamUpdateRequest("/update/extract");
req.addFile(new File("my-file.pdf"));
req.setParam(ExtractingParams.EXTRACT_ONLY, "true");
NamedList<Object> result = client.request(req);
System.out.println("Result: " +enter code here result);
}

Cela peut aider.

0
Avtar Singh

Utilisez le Solr, ExtractingRequestHandler. Ceci utilise Apache-Tika pour analyser le fichier pdf. Je crois qu'il peut extraire les métadonnées, etc. Vous pouvez également passer par vos propres métadonnées. Extracting Request Handler

0
whomer