tika example apache-tika

apache-tika - example - apache tika jar



Cómo usar Tika en modo servidor (3)

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


Para mejorar la respuesta perfecta de Gagravarr:

  • Si su documento se obtiene de un servidor WEB => curl -u "http: // myserver-domain / * path-to-doc * / doc-name.extension " | nc 127.0.0.1 12345
  • Y es aún mejor si el documento está protegido por password => curl -u login : * password * "http: // myserver-domain / * path-to-doc * / doc-name.extension " | nc 127.0.0.1 12345

Solo añadiendo a la gran respuesta de @Gagravarr.

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

  • tika-app.jar tiene las opciones --server --port 9998 para iniciar un servidor simple
  • tika-server.jar es un componente separado que utiliza JAX-RS

La primera opción solo proporciona 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.

Simplemente puede descargar el archivo tika-server.jar desde el sitio del proyecto Tika. Iniciar el servidor usando

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

La opción -h 0.0.0.0 (host) hace que el servidor escuche las solicitudes entrantes, de lo contrario, sin él solo escucharía las solicitudes de localhost. También puede agregar la opción -p para cambiar el puerto, de lo contrario, el valor predeterminado es 9998.

Luego, una vez que el servidor ha comenzado, simplemente puede acceder a él utilizando su navegador. Enumera todos los puntos finales disponibles.

Finalmente, para extraer los metadatos de un archivo, puede utilizar cURL de esta manera:

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

Devuelve los metadatos como pares clave / valor uno por línea. También puede hacer que Tika devuelva los resultados como JSON agregando el encabezado de aceptación adecuado:

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

[Actualización 2015-01-19] Anteriormente, el comentario decía que tika-server.jar no está disponible como descarga. Se ha corregido que ya que realmente existe como una descarga binaria.


Tika soporta 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 componente del servidor JAX-RS JSR-311 , que es un jar adicional.

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

El componente del servidor JAX-RS JSR-311 es compatible con algunas URL diferentes, para cosas como metadatos, texto sin formato, etc. Usted inicia el servidor con java -jar tika-server.jar , luego hace llamadas HTTP a la URL apropiada con su entrada Documento y obtendrá el recurso de vuelta. Hay un montón de detalles y ejemplos (incluido el uso de rizos para pruebas) en la página wiki

El Servidor de red de aplicaciones de Tika es bastante simple, solo admite un modo (extracto a HTML), y generalmente se usa para pruebas / demostraciones / creación de prototipos / etc. El servidor de JAXRS de Tika es un servicio completamente RESTful que habla HTTP y expone una amplia gama de los 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.