На веб-сайте Tika, где говорится (относительно tika-app-1.2.jar), он может использоваться в режиме сервера. Кто-нибудь знает, как отправлять документы и получать разобранный текст с этого сервера после его запуска?
Как использовать Tika в режиме сервера
Ответ 1
Tika поддерживает два режима "сервер". Более простым и оригинальным является флаг --server
Tika-App. Более функциональным, но также и более поздним является JAX-RS JSR-311 серверный компонент, который является дополнительным банком.
Сетевой сервер Tika-App очень прост в использовании. Просто запустите Tika-App с флагом --server
и флагом --port ###
, сообщающим, какой порт прослушивать. Затем подключитесь к этому порту и отправьте ему один файл. Вы вернете html-версию. NetCat хорошо работает для этого, что-то вроде java -jar tika-app.jar --server --port 12345
, за которым следует nc 127.0.0.1 12345 < MyFileToExtract
, вернет вам html
JAX-RS JSR-311 серверный компонент поддерживает несколько разных URL-адресов для таких вещей, как метаданные, простой текст и т.д. Вы запускаете сервер с помощью java -jar tika-server.jar
, тогда HTTP поместит вызовы на соответствующий URL-адрес с вашим исходным документом, и вы вернете ресурс. На странице Tika JAXRS Server - это полностью RESTful-сервис, который сообщает HTTP, и предоставляет широкий спектр режимов Tika. В наши дни обычно рекомендуется использовать интерфейс Tika по сети и/или из не-Java-стеков.
Ответ 2
Просто добавив к @Gagravarr отличный ответ.
Говоря о Tika в режиме сервера, важно различать две версии, которые в противном случае могут вызвать путаницу:
- tika-app.jar имеет параметры -server -port 9998 для запуска простого сервера.
- tika-server.jar - это отдельный компонент с использованием JAX-RS
Первый параметр предоставляет только извлечение текста и возвращает содержимое как HTML. Скорее всего, то, что вы действительно хотите, это второй вариант, который представляет собой услугу RESTful, предоставляющую еще много возможностей Tika.
Вы можете просто загрузить tika-server.jar с сайта проекта Tika. Запустите сервер, используя
java -jar tika-server-x.x.jar -h 0.0.0.0
Параметр -h 0.0.0.0 (хост) заставляет сервер прослушивать любые входящие запросы, иначе без него он будет только слушать запросы от localhost. Вы также можете добавить параметр -p для изменения порта, в противном случае он по умолчанию равен 9998.
Затем, как только сервер запустится, вы можете просто получить к нему доступ с помощью своего браузера. Он отобразит все доступные конечные точки.
Наконец, чтобы извлечь метаданные из файла, вы можете использовать cURL следующим образом:
curl -T testWORD.doc http://example.com:9998/meta
Возвращает метаданные в виде пары ключ/значение по одной в строке. Вы также можете вернуть Tika результаты в виде JSON, добавив правильный заголовок accept:
curl -H "Accept: application/json" -T testWORD.doc http://example.com:9998/meta
[Обновить 2015-01-19] Ранее в комментарии говорилось, что tika-server.jar недоступен для загрузки. Исправлено это, поскольку он фактически существует как бинарная загрузка.
Ответ 3
Чтобы улучшить Gagravarr идеальный ответ:
- Если ваш документ получен с WEB-сервера = > curl -u "http://myserver-domain/*path-to-doc*/doc-name.extension" | Северная Каролина 127.0.0.1 12345
- И еще лучше, если документ защищен паролем = > curl -u логин Пароль* "http://myserver-domain/*path-to-doc*/doc-name.extension" | Северная Каролина 127.0.0.1 12345