I ЕСТЬ:
Набор предварительно обработанных офисных документов (Word, Excel, PDF, электронные письма, Power Point и т. Д.), Представленных в виде «Загрузить файлы» (примерно 2-4 терабайта на комплект)
«ЗАГРУЗИТЬ ФАЙЛЫ» СОДЕРЖИТ:
- Одиночные файлы pg (напечатанные из офисных документов ... документ из 15 страниц будет иметь 15 символов)
- MetaДанные, извлеченные из офисных документов, представленных в файле .dat с разделителями, который включает в себя полный текст.
- .log файл, который связывает файлы .tiff & .dat (вместе взятые файлы .dat & .log составляют около 7-10% от размера набора данных)
- Оригинальные офисные документы
ПОЛЬЗОВАТЕЛИ VIA BROWSERS БУДУТ:
- Выполнять поиск по ключевым словам в полном тексте &метаданные, найденные в .dat
- Просмотр изображений в формате TIFF и иногда оригинального офисного документа
- Классифицируйте каждый документ с помощью определенной пользователем метки и иногда делайте заметки
- Сортируйте данныеразличными способами ... например, дата отправки, автор, тема и т. д.
ПОПЫТКА ДЛЯ РЕШЕНИЯ МЕЖДУ: упругий поиск + couchdb ИЛИ sphinx + mysql
Мне посоветовали, что поиск будет основной инженерной проблемой, поэтому решил использовать его в качестве основы дляопределяя все остальное.
Имея в виду будущий рост, я решил, что выберу все вещи "облаком".Я включил упругий поиск, который хорошо читал пары с помощью couchdb (без особых причин, кроме объявленной тесной интеграции с ES) ... вместе с доктриной symfony2 + (не женат на них, но читал, что они хорошо сочетаются с ES) вместо zend.
Но потом кто-то заметил, что данные кажутся очень хорошо структурированными, поэтому sphinx / mysql - это лучший путь со сфинксом "из коробки", разделенным по узлам для облака.
КОНТЕКСТ:
Моя главная цель - скорость и эффективность поиска и обработки изображений в формате TIFF.Масштабируемость является второстепенной проблемой, поскольку количество пользователей может вырасти до десятков тысяч ... возможно, до 100 тыс., Но не в масштабе сети (десятки миллионов).Однако некоторые из этих пользователей будут работать по 8 часов в день.
ВОПРОС:
Считаете ли вы, что для этого конкретного приложения упругий поиск + nosql - это излишне в том смысле, что для этого потребуется больше времени?/ сложность / ресурсы для настройки, чем то, что мне действительно нужно без существенного преимущества в производительности?Или sphinx mysql в конечном итоге станет узким местом с большими объемами данных / большим количеством пользователей?