你如何全文搜索亚马逊s3桶?

时间:2015-02-17 08:35:17

标签: php amazon-web-services amazon-s3

我在S3上有一个存储桶,其中包含大量文本文件。

我想在文本文件中搜索一些文本。它仅包含原始数据。 每个文本文件都有不同的名称。

例如,我有一个桶名:

ABC / MyFolder文件/ abac.txt

XYX / myfolder1 / axc.txt

&安培;我想搜索类似&#34的文字;我是人类"在上面的文本文件中。

如何实现这一目标?它甚至可能吗?

4 个答案:

答案 0 :(得分:16)

执行此操作的唯一方法是通过CloudSearch,它可以使用S3作为源。它使用快速检索来构建索引。这应该工作得非常好,但要彻底检查定价模型,以确保这对您来说不会太昂贵。

另一种选择是杰克所说的 - 你需要将文件从S3传输到EC2并在那里构建一个搜索应用程序。

答案 1 :(得分:15)

由于october 1st, 2015亚马逊提供了另一种使用弹性搜索的搜索服务,与云搜索或多或少相同,您可以stream data from Amazon S3 buckets

它将与lambda函数一起使用,以确保发送到S3存储桶的任何新数据都会触发对此Lambda的事件通知并更新ES索引。

使用Java和Javascript示例在amazon doc中详细说明了所有步骤。

在较高级别,设置流式传输数据到Amazon ES需要执行以下步骤:

  • 创建Amazon S3存储桶和Amazon ES域
  • 创建Lambda部署包。
  • 配置Lambda函数。
  • 授予将数据流式传输到Amazon ES的授权。

答案 2 :(得分:0)

您可以使用Filestash免责声明:我是作者),安装您自己的实例并连接到S3存储桶。如果您有大量数据并且应该很好,那么最终可以花一点时间对整个事物进行索引

答案 3 :(得分:0)

如果您有EMR,请创建一个spark应用程序并进行搜索。我们做到了。这将作为分布式searcn工作