У меня есть приложение, которое перебирает каталог файлов pdf и ищет строку. Я использую PDFBox для извлечения текста из PDF, и код довольно прост. Сначала для поиска по 13 файлам потребовалась минута на загрузку результатов, но я заметил, что PDFBox помещает много файлов в файл журнала. Я изменил уровень ведения журнала, и это очень помогло, но загрузка страницы все еще занимает более 30 секунд. Кто-нибудь есть какие-либо предложения о том, как я могу оптимизировать код или другим способом определить, сколько попаданий в документе? Я поиграл с Lucene, но, похоже, он дает вам только количество попаданий в каталоге, а не количество попаданий в конкретном файле.
Вот мой код, чтобы получить текст из PDF.
public static String parsePDF (String filename) throws IOException
{
FileInputStream fi = new FileInputStream(new File(filename));
PDFParser parser = new PDFParser(fi);
parser.parse();
COSDocument cd = parser.getDocument();
PDFTextStripper stripper = new PDFTextStripper();
String pdfText = stripper.getText(new PDDocument(cd));
cd.close();
return pdfText;
}