【发布时间】:2019-03-09 03:56:09
【问题描述】:
我需要完成的工作:S3 KEYS 上的全文搜索(不是文件内容)
所以,我的 S3 存储桶有这样的结构:
bucket_name/
user1@gmail.com/
folder1/
notthatimportantfile
** any folders or files here
user2@gmail.com/
folderN/** any folders or files here
folderN+1/notimportantfile
folderX/mysuperimportantfile
在我的 JS 应用程序上,我想放置一个搜索框,如果我在其中输入“重要”这个词,我会返回所有名称中包含该词的文件
我对这些文件的内容不感兴趣。所以我在互联网上搜索了如何做到这一点并没有找到任何东西。
我尝试的最后一件事是使用 Amazon Glue 和 Athena,但是当我创建一个 Crawler 并在 Glue 中运行它时,它会为每个文件创建一个表,而我想要的是为每个第一级文件夹创建一个表与其中的文件。例如,上面的结构将在数据库上创建 2 个表: - user1@gmail.com - user2@gmail.com
在这些表上,它们的行将是 S3 中这些文件夹内的文件:
TABLE "user1@gmail.com"
_id filename size
01234 folder1/notthatimportantfile 1024
56789 folder1/anotherfile_here.txt 768
有了这些,我可以轻松地使用 AWS Athena 来查询数据:
SELECT * from 'user1@gmail.com' WHERE filename LIKE %important%
那么,有没有办法做到这一点?我疯了吗? 有没有更简单的方法?也许是 AWS CloudSearch?
非程序员注意事项:请不要说“只需转到 AWS 控制台并将您的关键字放在搜索框上”。我厌倦了这些答案
【问题讨论】:
标签: amazon-s3 amazon-athena aws-glue aws-sdk-js