Как выполнять поиск на уровне контента в AmazonS3

У меня есть несколько файлов (.txt, .doc, .xlsx и т. д.) внутри ведра на моем диске AmazonS3, и можно ли выполнить поиск на уровне содержимого через мое приложение C#? То есть, когда мы набираем строку и нажимаем клавишу в моем приложении, все файлы, содержащие искомую строку в своем содержимом, должны отображаться.

Есть ли способ добиться этого с помощью любого метода или даже с помощью WebAPI.

заранее спасибо


person Abu Rahim    schedule 28.02.2017    source источник
comment
Это невозможно сделать без загрузки и разбора каждого файла. S3 не поддерживает поиск контента. Вы должны индексировать эти файлы в поисковой системе, такой как Elasticsearch, в дополнение к хранению их в S3.   -  person Mark B    schedule 28.02.2017


Ответы (2)


Amazon S3 — это исключительно служба хранения. В S3 нет возможности поиска.

Вы можете использовать такие службы, как Amazon CloudSearch и Amazon Elasticsearch Service, который может индексировать документы, но обратите внимание, что это требует дополнительной настройки и дополнительных затрат.

person John Rotenstein    schedule 28.02.2017

Вы не сможете работать со всеми типами файлов, которые вы перечислили, но со всеми вашими файлами, которые являются структурированными или полуструктурированными, вы можете рассмотреть возможность использования недавно выпущенного AWS Athena, который позволяет выполнять поиск S3 с использованием SQL-подобного языка:

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

Amazon Athena — интерактивный сервис запросов, упрощающий анализ данных в Amazon S3 с помощью стандартного SQL. Athena не имеет серверов, поэтому не нужно настраивать или управлять инфраструктурой, и вы можете сразу приступить к анализу данных. Вам даже не нужно загружать свои данные в Athena, она работает напрямую с данными, хранящимися в S3. Чтобы начать работу, просто войдите в консоль управления Athena, определите свою схему и начните запрашивать. Amazon Athena использует Presto с полной стандартной поддержкой SQL и работает с различными стандартными форматами данных, включая CSV, JSON, ORC, Apache Parquet и Avro. Хотя Amazon Athena идеально подходит для быстрых специальных запросов и интегрируется с Amazon QuickSight для упрощения визуализации, он также может выполнять сложный анализ, включая большие соединения, оконные функции и массивы.

person E.J. Brennan    schedule 28.02.2017
comment
Спасибо, Бреннан. Можно ли использовать Athena с моим сторонним приложением C#? Если да, то это будет стоить дополнительно? Также, если это возможно, как можно интегрировать с моим приложением. Не могли бы вы предоставить пример кода? - person Abu Rahim; 01.03.2017