在 AWS 中存储和搜索大文本

Store and perform search on large size of text in AWS

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

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

我面临的问题是因为 dynamo 数据库项目的大小限制为 400KB。

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

请帮忙 提前致谢!

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

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

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

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