Мы работаем над тем, чтобы клиент перепроектировал существующую систему, которая в основном работает с большим количеством файлов.
Файлы (более 5 миллионов) в настоящее время хранятся в файловой системе сервера. Клиент хочет, чтобы новая система сохранила файл в S3.
С файлами также связаны метаданные (имя, имя автора, цена, описание и т. Д.).
Функциональность поиска также должна быть переработана. Ниже приведены основные требования
- Полнотекстовый поиск должен быть доступен по описаниям файлов.
- Фильтрация должна быть возможна по другим атрибутам файлов.
Кроме того, на основе описания файла система также должна иметь возможность давать рекомендации для похожих файлов.
У меня нет опыта создания такого решения раньше, поэтому я прошу помощи и предложений.
Я думал о следующих решениях:
- Сохраните метаданные файла в MongoDB и используйте функцию поиска (http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo)
- Используйте Amazon DynamoDB. Он предоставляет API для сканирования / запроса набора данных.
- Используйте Lucene / Solr (я еще не работал с ними, мне все еще нужно смотреть глубже)
Был этот проект, который я нашел, он очень похож на то, что мне нужно
http://www.thriftdb.com - На домашней странице говорится, что это хранилище данных со встроенным поиском.
Пожалуйста, дайте мне знать, если этот вопрос должен быть вики сообщества.
Заранее спасибо.