【问题标题】:How to do content level search in AmazonS3如何在 AmazonS3 中进行内容级搜索
【发布时间】:2017-03-01 02:49:15
【问题描述】:

我的 AmazonS3 驱动器的存储桶中有一些文件(.txt、.doc、.xlsx 等),是否可以通过我的 C# 应用程序执行内容级别搜索?也就是说,当我们在我的应用程序中键入字符串并按下键时,应列出其内容中包含搜索到的字符串的每个文件。

有没有办法使用任何方法甚至使用 WebAPI 来实现这一点。

提前致谢

【问题讨论】:

  • 如果不下载并解析每个文件,这是不可能的。 S3 不支持内容搜索。除了将它们存储在 S3 中之外,您还应该在 Elasticsearch 等搜索引擎中对这些文件进行索引。

标签: c# amazon-web-services amazon-s3


【解决方案1】:

Amazon S3 纯粹是一种存储服务。 S3 内置没有搜索功能

您可以使用Amazon CloudSearchAmazon Elasticsearch Service 等可以索引文档的服务,但请注意,这涉及额外的配置和额外的成本。

【讨论】:

    【解决方案2】:

    您将无法执行您列出的所有文件类型,但您的任何结构化或半结构化文件都可以考虑使用新发布的 AWS Athena允许使用类似 SQL 的语言搜索 S3 文件:

    https://aws.amazon.com/athena/faqs/

    Amazon Athena 是一种交互式查询服务,可让您轻松 使用标准 SQL 分析 Amazon S3 中的数据。 Athena 是无服务器的,所以 无需设置或管理基础设施,您可以开始 立即分析数据。您甚至不需要将数据加载到 Athena,它直接处理存储在 S3 中的数据。要开始,只需 登录到 Athena 管理控制台,定义您的架构,然后开始 查询。 Amazon Athena 使用具有完整标准 SQL 支持的 Presto 和 适用于各种标准数据格式,包括 CSV、JSON、 ORC、Apache Parquet 和 Avro。虽然 Amazon Athena 非常适合快速、 即席查询并与 Amazon QuickSight 集成以轻松实现 可视化,它还可以处理复杂的分析,包括大型 连接、窗口函数和数组。

    【讨论】:

    • 谢谢布伦南。是否可以将 Athena 与我的第三方 C# 应用程序一起使用?如果是这样会额外收费吗?另外,如果可能的话,如何与我的应用程序集成。能否提供一些示例代码?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-07
    相关资源
    最近更新 更多