1

我需要从 S3 中的 PDF 和图像文件中获取 OCR(光学字符识别)数据,以便用户可以对该 OCR 数据执行搜索。我正在使用 AWS Textract 进行文本提取以获取 OCR 数据。

我打算将 OCR 数据存储在 Dynamo DB 中并在其中执行搜索查询。

我面临的问题是由于 dynamo db 项目的大小限制为 400KB。

我遇到用户在 S3 中上传 100+ MB PDF 文件的情况,其中提取的文本内容将超过此限制。那么在这种情况下最好的方法是什么。

请帮助提前谢谢!

4

1 回答 1

1

我确信您仍然可以使用 DynamoDB,您只需将数据拆分到多个项目中。在这种情况下,您的分区键可能是 PDF 文件键/名称,排序键可能是某种部分键。然后,您可以使用 Query(而不是 GetItem)获取包含文件文本的所有项目。

当您处理大量数据时,DynamoDB 变得非常昂贵,因此另一种选择可能是 S3 和 Athena:

https://aws.amazon.com/blogs/big-data/analyzing-data-in-s3-using-amazon-athena/

基本上,您将 OCR 数据写入文本文件并将其存储在 S3 中。然后,您可以使用 Athena 对该数据运行查询。此解决方案非常灵活,可能比 DynamoDB 便宜得多。性能上可能会有一些缺点。

于 2020-04-08T06:39:03.403 回答