В чем разница между приложением 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>
Другие вопросы по тегам