我需要从 S3 中的 PDF 和图像文件中获取 OCR(光学字符识别)数据,以便用户可以对该 OCR 数据执行搜索。我正在使用 AWS Textract 进行文本提取以获取 OCR 数据。
我打算将 OCR 数据存储在 Dynamo DB 中并在其中执行搜索查询。
我面临的问题是由于 dynamo db 项目的大小限制为 400KB。
我遇到用户在 S3 中上传 100+ MB PDF 文件的情况,其中提取的文本内容将超过此限制。那么在这种情况下最好的方法是什么。
请帮助提前谢谢!
我需要从 S3 中的 PDF 和图像文件中获取 OCR(光学字符识别)数据,以便用户可以对该 OCR 数据执行搜索。我正在使用 AWS Textract 进行文本提取以获取 OCR 数据。
我打算将 OCR 数据存储在 Dynamo DB 中并在其中执行搜索查询。
我面临的问题是由于 dynamo db 项目的大小限制为 400KB。
我遇到用户在 S3 中上传 100+ MB PDF 文件的情况,其中提取的文本内容将超过此限制。那么在这种情况下最好的方法是什么。
请帮助提前谢谢!
我确信您仍然可以使用 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 便宜得多。性能上可能会有一些缺点。