2012-09-01 32 views
21

En el sitio web de Tika dice (con respecto a tika-app-1.2.jar) se puede utilizar en modo servidor. ¿Alguien sabe cómo enviar documentos y recibir texto analizado desde este servidor una vez que se está ejecutando?Cómo usar Tika en el modo de servidor

Respuesta

29

Tika admite dos modos de "servidor". El más simple y original es la bandera --server de Tika-App. El más funcional, pero también más reciente es el JAX-RS JSR-311 server component, que es un jar adicional.

El servidor de red Tika-App es muy fácil de usar. Simplemente inicie Tika-App con la bandera --server y una bandera --port ### indicándole qué puerto escuchar. Luego, conéctese a ese puerto y envíele un solo archivo. Recibirás la versión html. NetCat funciona bien para esto, algo así como java -jar tika-app.jar --server --port 12345 seguido por nc 127.0.0.1 12345 < MyFileToExtract le devolverá el html

El JAX-RS JSR-311 server component soporta unas pocas direcciones URL diferentes, para cosas como metadatos, texto plano, etc. Se inicia el servidor con java -jar tika-server.jar, y luego hacer HTTP put llama a la url apropiada con su documento de entrada y obtendrá el recurso nuevamente. Hay muchos detalles y ejemplos (incluido el uso de Curl para pruebas) en el wiki page

El Servidor de red de la aplicación Tika es bastante simple, solo admite un modo (extraer a HTML) y generalmente se usa para pruebas/demos/creación de prototipos/etc. El Tika JAXRS Server es un servicio completamente RESTful que habla HTTP y expone una amplia gama de modos de Tika. Es la forma generalmente recomendada en estos días para interactuar con Tika a través de la red, y/o desde pilas no Java.

+4

Esta respuesta me ayudó mucho. Y, de hecho, el servidor no solo devuelve HTML. Usando otras opciones como "-j", por ejemplo, el servidor devuelve metadatos JSON. – Marian

+1

Es posible que desee utilizar curl en su lugar. 'curl -s http: // localhost: 9998/tika - header" Accept: text/plain "-T filename.xls' –

3

Para mejorar Gagravarr respuesta perfecta:

  • Si el documento se obtuvo de un servidor WEB => rizo -u "http: // miservidor-dominio/* ruta-a-doc */doc-name.extension "| nc 127.0.0.1 12345
  • Y es aún mejor si el documento está protegido por contraseña => rizo -u de inicio de sesión: * contraseña * "http: // miservidor-dominio/* path-to -doc */doc-name.extension "| nc 127.0.0.1 12345
13

Acaba de agregar a la gran respuesta de @Gagravarr.

Cuando se habla de Tika en modo servidor, es importante diferenciar entre las dos versiones que de lo contrario pueden causar confusión:

  • tika-app.jar tiene la --server --port 9998 opciones para iniciar una servidor simple
  • tika-server.jar es un componente separado utilizando JAX-RS

la primera opción sólo proporciona la extracción de texto y devuelve el contenido como HTML. Lo más probable es que lo que realmente quieres es la segunda opción, que es un servicio RESTful que expone muchas más características de Tika.

Puede simplemente download the tika-server.jar del sitio del proyecto Tika.Iniciar el servidor utilizando

java -jar tika-server-x.x.jar -h 0.0.0.0 

0.0.0.0 La opción -h (anfitrión) hace que el servidor escuche sus peticiones entrantes, de lo contrario, sin que se decidiera a escuchar las peticiones de localhost. También puede agregar la opción -p para cambiar el puerto; de lo contrario, se predetermina a 9998.

Luego, una vez que el servidor haya comenzado, simplemente puede acceder a él usando su navegador. Enumerará todos los puntos finales disponibles.

último para extraer los metadatos de un archivo se puede utilizar cURL como esto:

curl -T testWORD.doc http://example.com:9998/meta 

Devuelve los metadatos como pares clave/valor uno por línea. Usted también puede tener Tika devolver los resultados como JSON mediante la adición de la cabecera accept adecuada:

curl -H "Accept: application/json" -T testWORD.doc http://example.com:9998/meta 

[Actualización 19/01/2015] Anteriormente, el comentario dice que tika-server.jar no está disponible como descarga. Se corrigió eso ya que realmente existe como una descarga binaria.

+0

¡El servidor de Tika se ha construido y distribuido como estándar desde hace algún tiempo! Puedes encontrarlo en tu espejo Apache más cercano o seguir el enlace de la [página de descarga] (http://tika.apache.org/download.html) – Gagravarr

+0

. Debes haberlo perdido, ¡gracias por señalar esto! –

+1

Te sugiero que edites tu respuesta para indicar a las personas que descarguen tika-app y tika-servers de los espejos, en lugar de tika-src, ¡ya que será mucho más rápido y más fácil para ellos! – Gagravarr

Cuestiones relacionadas