Как индексировать PDF-файлы и искать ключевые слова?

У меня есть куча PDF-файлов (несколько 100). У них нет ни правильной структуры, ни определенных полей. Все они имеют много текста.

что я пытаюсь сделать:

индексировать PDF-файлы и искать некоторые ключевые слова по индексу. Я заинтересован в поиске, если это конкретное ключевое слово находится в PDF doc, и если это так, я хочу строку, где ключевое слово найдено. Если бы я искал "Google" в PDF-документе, который имеет этот термин, я бы как увидеть "Google-отличная поисковая система", которая является строкой в PDF.

как я решил сделать :

либо используйте SOLR или Whoosh, но SOLR хорошо подходит для встроенной поддержки PDF. Я предпочитаю код на Python, а Sunburst-это оболочка на SOLR, которая мне нравится. Пример/Пример проекта SOLR имеет некоторый файл схемы на основе сравнения цен. Теперь я не уверен, могу ли я использовать SOLR для ответа на мою проблему.

Что вы предлагаете? Любой вход много оцененный.

3 ответов


Я думаю, Solr соответствует вашим потребностям.

функция "подсветка" - это то, что вы ищете.. Для этого вы должны индексировать и хранить документы в lucene index.

функция подсветки возвращает обрезанный текст, в котором отмечен искомый текст.

посмотрите на это:http://wiki.apache.org/solr/HighlightingParameters


другое автономное / автономное решение:

  • https://github.com/WolfgangFahl/pdfindexer Он использует PDFBox и Apache Lucene и создаст файл индекса HTML со ссылками на страницы в файле PDF для каждого найденного ключевого слова.

Я однажды решил это, преобразовав PDF-файлы в текст с помощью утилит как pdftotext (pdftohtml также будет работать, я думаю), генерировать " кэш " некоторых видов. Затем, используя некоторые grep Я искал в кэше текстовых файлов ключевые слова.

Это немного отличается от вашего предлагаемого решения, но я могу себе представить, что вы можете назвать это из Python.