Подтвердить что ты не робот

Как использовать Tika в режиме сервера

На веб-сайте Tika, где говорится (относительно tika-app-1.2.jar), он может использоваться в режиме сервера. Кто-нибудь знает, как отправлять документы и получать разобранный текст с этого сервера после его запуска?

4b9b3361

Ответ 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