java我可以在Google App Engine上使用Tika进行内容提取吗?
我正在开发一个web服务,它需要从上传的文档(PDF、PowerPoint、Word等)中提取内容,我想在Google App Engine上运行这个服务,以降低成本。除了运行GoogleComputeVM来运行Solr/Tika作为服务器之外,我还有什么选择?我可以使用AppEngine的Java托管来包装Tika并返回内容吗
应用程序流程如下所示:
- 用户上传文档。工作任务被放入队列中李>
- 工作任务被消耗,触发将文件名发送到Solr以提取Tika。这个过程可以假设是一个Java应用程序读取文件内容并将其发送到Tika李>
- 内容存储在全文搜索引擎和数据库中李>
使用任务队列执行Tika命令行应用程序似乎是不可能的
# 1 楼答案
简短回答:
不,它的许多功能都不是现成的
太多的代码依赖于
File
对象并创建GAE中不存在的临时File
对象长答案:
它是开源的,您可以对代码进行黑客攻击,将调用获取
File
对象的方法的内容改为获取InputStream
对象,然后您可以处理存在于Blobstore
或GCS
中的内容下面是我正在破解的一个例子:
这里有一个非常好的调用,它没有绑定到
File
对象: