Архитектура для поисковой системы, основанная на распределенном хранилище ключей / значений? - PullRequest
2 голосов
/ 15 декабря 2010

Кто-нибудь знает какие-либо ссылки, документы, презентации или сообщения в блогах, описывающие крупномасштабную систему полнотекстового поиска, построенную на распределенном хранилище ключей / значений?

Меня особенно интересует организация индекса. Что именно представляет собой структура данных? Где и как хранятся словари и публикации? Каков рабочий процесс для обработки запросов? Как запросы обрабатываются таким образом, что нет необходимости перевозить огромные объемы данных по сети?

Я понимаю, что Блекко построен таким образом. Я хотел бы знать, что они или их конкуренты действительно сделали.

Ответы [ 2 ]

0 голосов
/ 02 июля 2011

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

Во-первых, основные положения Джеффа Дина об эволюции архитектуры Google,

Далее, в верхней части магазина K-V находится поисковая система с открытым исходным кодом, которая называется Lucandra - как следует из названия, Lucene поверх Cassandra, оба проекта Apache.

Чтобы понять, как работает Lucandra, ознакомьтесь с реализацией и презентациями, в которых рассказывается о том, как Lucene индексирует данные Cassandra.

Точно так же вы можете видеть, как сосуществуют Lucene и HBase. Вот ссылка на коммит / патч Apache, который объединяет поисковый слой, используя один на другом,

Еще одна похожая статья для Redis

Далее, проверьте эксплуатационные требования для масштабируемых поисковых систем

В лаборатории CIS есть несколько отличных исследовательских работ по этому вопросу, которые вы должны проверить,

Для общих предположений поисковой системы, которые могут быть сделаны выше, вот ссылки на книги, которые помогут,

0 голосов
/ 15 декабря 2010

Google MapReduce , вероятно, очень вас заинтересует.

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