В чем разница между приложением Tika, Tika Server и Java Wrapper. Какой используется и когда?
Я хочу использовать Apache Tika для больших и больших документов корпоративного уровня. Какой из них я использую, сервер Tika, приложение Tika или вызовы Java? Можете ли вы предложить мне архитектуру системы? (т. е. нагрузка на баланс 3-4 тика физически отличается от сервера)
1 ответ
Выполнение вызовов PUT к конечной точке REST для отправки тысяч документов размером 0,5 ГБ по HTTP, по одному за раз, не является подходящим сценарием для Tika Server. Это не будет эффективно использовать память, и сервер , скорее всего, выйдет из строя из- за какой-либо утечки памяти или ошибок.
Хотя с v1.19 теперь есть
-spawnChild
возможность периодически перезапускать процесс после его обработки
-maxFiles
. Начиная с версии 2.x, теперь это значение по умолчанию .
Для ваших нужд вы должны просто использовать
tika-app
в пакетном режиме , который:
- Выполняется локально с использованием указанного вами каталога ввода и вывода.
- Настраивает родительские / дочерние процессы для надежной обработки зависаний / OOME
- Параллельно запускает несколько потоков парсера
- Может перезапускать дочерний элемент каждые x минут или после y файлов, чтобы избежать утечек памяти
- Журналы сбоев
java -jar tika-app.jar -i <input_directory> -o <output_dir>