¿Cómo puedo indexar archivos PDF y buscar palabras clave?

Lo que tengo es un montón de archivos PDF (unos pocos 100). No tienen una estructura adecuada ni tienen campos particulares. Todo lo que tienen es mucho texto.

Lo que estoy tratando de hacer:

Indexe los PDF y busque algunas palabras clave contra el índice. Estoy interesado en encontrar si esa palabra clave en particular está en el documento PDF y si lo está, quiero la línea donde se encuentra la palabra clave. Si busqué ‘Google’ en un documento PDF que tiene ese término, me gustaría ver ‘Google es un gran motor de búsqueda’, que es la línea en el PDF.

Cómo decidí hacer:

Use SOLR o Whoosh, pero SOLR se ve bien para la compatibilidad con PDF incorporada. Prefiero codificar en Python y Sunburst es una envoltura de SOLR que me gusta. El proyecto de ejemplo / ejemplo de SOLR tiene algún archivo de esquema basado en la comparación de precios. Ahora no estoy seguro de poder usar SOLR para responder a mi problema.

    ¿Qué sugieren ustedes, chicos? Cualquier aporte se agradecerá.

    Creo que Solr se ajusta a tus necesidades.

    Lo que está buscando es la función “Resaltar”. Para eso, debe indexar y almacenar los documentos en el índice de Lucene.

    La función de resaltado devuelve un recorte, donde se marca el texto buscado.

    Mira esto: http://wiki.apache.org/solr/HighlightingParameters

    Otra solución fuera de línea / independiente:

    Una vez resolví esto convirtiendo los archivos PDF a texto con utilidades como pdftotext ( pdftohtml que también funcionaría pdftohtml ), generando un ‘caché’ de algún tipo. Luego, usando algo de grep , busqué en la memoria caché del archivo de texto las palabras clave.

    Esto es ligeramente diferente de la solución propuesta, pero me imagino que también puede llamarlo desde Python.