我在S3上有一个桶,我有大量的文本文件。
我想在文本文件中搜索一些文本。它仅包含原始数据。每个文本文件都有不同的名称。
例如,我有一个桶名称:
ABC / MyFolder文件/ abac.txt
XYX / myfolder1 / axc.txt
我想在上面的文本文件中搜索“我是人”这样的文字。
怎么做到这一点?它甚至可能吗?
唯一的方法是通过CloudSearch,它可以使用S3作为源。它使用快速检索来构建索引。这应该工作得非常好,但要彻底检查定价模型,以确保这对您来说不会太昂贵。
另一种选择是杰克所说的 - 你需要将文件从S3传输到EC2并在那里构建一个搜索应用程序。
由于october 1st, 2015亚马逊提供另一种搜索服务与弹性搜索,或多或少与云搜索相同,你可以stream data from Amazon S3 buckets。
它将与lambda函数一起使用,以确保发送到S3存储桶的任何新数据都会触发对此Lambda的事件通知并更新ES索引。
使用Java和Javascript示例在amazon doc中详细介绍了所有步骤。
在较高级别,设置为将数据流传输到Amazon ES需要执行以下步骤:
您可以使用Filestash(免责声明:我是作者),安装您自己的实例并连接到您的S3存储桶。如果你拥有大量数据并且你应该做得好,那么最后给它一些时间来索引整个事情