在Tika的网站上,它说(关于tika-app-1.2.jar)它可以在服务器模式下使用.有人知道如何在运行文件后从该服务器发送文件和接收解析文本吗?
Gag*_*arr 33
Tika支持两种"服务器"模式.更简单和原始的是--serverTika-App 的旗帜.功能越多,但最新的是JAX-RS JSR-311服务器组件,这是一个额外的jar.
Tika-App网络服务器使用起来非常简单.只需用--server旗帜启动Tika-App ,然后用一个--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 PUT调用相应的网址与你的输入文档,你会得到的资源背部.维基页面上有大量的细节和示例(包括使用curl进行测试)
Tika App Network Server相当简单,只支持一种模式(提取到HTML),通常用于测试/演示/原型设计/等.Tika JAXRS Server是一个完全RESTful的服务,可以与HTTP进行对话,并且可以广泛地展示Tika的模式.这是目前通常推荐的通过网络和/或非Java堆栈与Tika交互的方式.
Ing*_*ner 18
刚加入@Gagravarr的好答案.
在服务器模式下谈论Tika时,区分两个版本是很重要的,否则会导致混淆:
第一个选项仅提供文本提取并将内容作为HTML返回.最有可能的是,你真正想要的是第二个选项,它是一个RESTful服务,暴露了更多的Tika功能.
您只需从Tika项目站点下载tika-server.jar即可.使用启动服务器
java -jar tika-server-x.x.jar -h 0.0.0.0
Run Code Online (Sandbox Code Playgroud)
-h 0.0.0.0(host)选项使服务器侦听任何传入请求,否则它将只侦听来自localhost的请求.您还可以添加-p选项以更改端口,否则默认为9998.
然后,一旦服务器启动,您只需使用浏览器访问它.它将列出所有可用的端点.
最后,要从文件中提取元数据,您可以使用cURL,如下所示:
curl -T testWORD.doc http://example.com:9998/meta
Run Code Online (Sandbox Code Playgroud)
将元数据作为键/值对返回每行一个.您还可以让Tika通过添加正确的接受标头将结果作为JSON返回:
curl -H "Accept: application/json" -T testWORD.doc http://example.com:9998/meta
Run Code Online (Sandbox Code Playgroud)
[更新2015-01-19]之前评论说tika-server.jar不能下载.修复了因为它确实以二进制下载的形式存在.