【问题标题】:Store and perform search on large size of text in AWS在 AWS 中存储和执行大文本搜索
【发布时间】:2021-06-19 16:37:03
【问题描述】:

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

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

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

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

请帮忙 提前致谢!

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-dynamodb amazon-textract


    【解决方案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 便宜得多。性能可能存在一些缺点。

    【讨论】:

    • 我们可以考虑使用 AWS Elastic 搜索吗?
    • 是的,当然可以。弹性搜索可能很昂贵,因为您必须一直运行服务器。 Athena 是无服务器的,因此您只需为使用的内容付费。
    猜你喜欢
    • 2018-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 2012-02-22
    • 2022-01-13
    • 1970-01-01
    相关资源
    最近更新 更多