gpt4 book ai didi

java - 我可以在 Google App Engine 上使用 Tika 进行内容提取吗?

转载 作者:行者123 更新时间:2023-12-02 06:27:46 25 4
gpt4 key购买 nike

我正在开发一项网络服务,该服务需要从上传的文档(PDF、PowerPoint、Word 等)中提取内容,我希望将其托管在 Google App Engine 上以降低成本。如果没有运行 Google Compute VM 来运行 Solr/Tika 作为服务器,我有什么选择?我可以使用 App Engine 的 Java 托管来包装 Tika 并返回内容吗?

应用程序流程如下所示:

  1. 用户上传文档。 Worker 任务被放入队列中。
  2. 工作任务被消耗,触发将文件名发送到 Solr 以进行 Tika 提取。假设这个过程可能是一个 Java 应用程序读取文件内容并将其发送给 Tika。
  3. 内容存储在全文搜索引擎和数据库中。

使用任务队列执行 Tika 命令行应用程序似乎不可能。

最佳答案

简短回答:

不,它的大部分功能并不是开箱即用的。

太多代码依赖于 File 对象并创建 GAE 中不存在的临时 File 对象。

长答案:

它是开源的,您可以破解代码并更改调用采用 File 对象的方法的内容以采用 InputStream 对象,然后您可以处理事物位于 BlobstoreGCS 中。

这是我现在正在破解的一个示例:

@NotNull
public static Metadata readMetadata(@NotNull File file) throws JpegProcessingException, IOException
{
JpegSegmentReader segmentReader = new JpegSegmentReader(file);
return extractMetadataFromJpegSegmentReader(segmentReader.getSegmentData());
}

哪里有这个完美的调用,不依赖于 File 对象:

@NotNull
public static Metadata readMetadata(@NotNull InputStream inputStream, final boolean waitForBytes) throws JpegProcessingException
{
JpegSegmentReader segmentReader = new JpegSegmentReader(inputStream, waitForBytes);
return extractMetadataFromJpegSegmentReader(segmentReader.getSegmentData());
}

关于java - 我可以在 Google App Engine 上使用 Tika 进行内容提取吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20361934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com