Предложения по разработке поисковой системы для файлов, хранящихся в S3 - PullRequest
1 голос
/ 24 марта 2012

Мы работаем над тем, чтобы клиент перепроектировал существующую систему, которая в основном работает с большим количеством файлов.

Файлы (более 5 миллионов) в настоящее время хранятся в файловой системе сервера. Клиент хочет, чтобы новая система сохранила файл в S3. С файлами также связаны метаданные (имя, имя автора, цена, описание и т. Д.).

Функциональность поиска также должна быть переработана. Ниже приведены основные требования

  1. Полнотекстовый поиск должен быть доступен по описаниям файлов.
  2. Фильтрация должна быть возможна по другим атрибутам файлов.

Кроме того, на основе описания файла система также должна иметь возможность давать рекомендации для похожих файлов.

У меня нет опыта создания такого решения раньше, поэтому я прошу помощи и предложений. Я думал о следующих решениях:

  1. Сохраните метаданные файла в MongoDB и используйте функцию поиска (http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo)
  2. Используйте Amazon DynamoDB. Он предоставляет API для сканирования / запроса набора данных.
  3. Используйте Lucene / Solr (я еще не работал с ними, мне все еще нужно смотреть глубже)

Был этот проект, который я нашел, он очень похож на то, что мне нужно http://www.thriftdb.com - На домашней странице говорится, что это хранилище данных со встроенным поиском.

Пожалуйста, дайте мне знать, если этот вопрос должен быть вики сообщества.

Заранее спасибо.

Ответы [ 3 ]

6 голосов
/ 12 апреля 2012

Вам повезло, объявлено сегодня:

http://aws.amazon.com/about-aws/whats-new/2012/04/11/aws-announces-cloudsearch/

1 голос
/ 24 марта 2012

Что касается поиска файлов и фильтрации по атрибутам, лучше всего будет использовать Sphinx Search Engine, который используется в filestube (Google использовал его также много лет назад).Я не знаю, будет ли это работать на серверах Amazon.

0 голосов
/ 24 марта 2012

У Amazon есть собственный AMI для Lucene / Solr, и мы с радостью использовали его в наших проектах. Lucene обладает мощной возможностью индексирования и работает с исключительной скоростью. Я настоятельно рекомендую использовать Apache Lucene / Solr для всех ваших поисковых запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...