@Serjio-Grig
Тот самый никто (=

Как спроектировать архитектуру поисковой системы?

Здравствуйте.
Для начала, я хотел бы кратко описать принцип работы поисковой системы.
1. Имеется некий запрос.
2. Запрос подвергается процедуре стемминга.
3. В индексе системы ищутся документы, которые содержат слова из запроса.
4. Документы упорядочиваются относительно частоты слов, их первой точки вхождения и на основании коэффициента корреляции Пирсона, цитируемости другими элементами индекса, а так же «выбираемостью» в качестве результата поиска пользователем (это происходит за счёт нейронной сети с обратным распространением).

Но хранить огромные индексы в одной СУБД — убийство таковой по скорости. Каким образом можно сформировать возможность горизонтального масштабирования для хранения индексов, чтобы не сильно проиграть в скорости работы?
А так же, как можно реализовать механизм пагинации? Можно, конечно, запоминать последний индекс, но сеть его не принимает во внимание, используя полнотекстовый поиск по всем индексам. Да и при таком подходе места для хранения не напасёшься. Создавать отдельную группу кластеров с хранением индексов и запущенным многопоточным серверов для поиска, а после объединения результатов? Но ранжируется в процессе поиска.

В общем, хотелось бы услышать совет профессионалов.
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
@Serjio-Grig Автор вопроса
Тот самый никто (=
Решение проблемы найдено — репликация с ежесуточным обновлением индекса.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
Sphinxsearch + MVA

с пагинацией чудес нет - только постобработка после извлечения из движка
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы