Как ускорить поиск по обратному индексу? - PullRequest
4 голосов
/ 26 января 2012

Я проектирую архитектуру полнотекстового поискового движка. Одним из пунктов является обработка запросов среди больших наборов данных с небольшим временем отклика. Одна вещь, которую я мог бы понять, - это разделить инвертированный индекс на разделы. Для этого есть 2 стратегии: основанный на терминах раздел и основанный на документе раздел. Но я действительно хочу знать, есть ли другой способ ускорить обратный поиск среди больших наборов данных?

1 Ответ

8 голосов
/ 26 января 2012

Это видео является речью с Шей Баноном, разработчиком ElasticSearch распределенной системы полнотекстового поиска.В видео он обсуждает плюсы и минусы разделов на основе терминов и разделов на основе документов.

В основном раздел на основе терминов создает слишком большую пропускную способность сети между процессами / узлами.И это сложнее реализовать красиво.Основанный на документе чрезвычайно прост в реализации и получении результатов.

Более того, в этой лекции Джеффри Дином он также объясняет различия и говорит, что Google использует раздел на основе документов.

Это два основных способа распространения вашей поисковой системы.Я не знаю других способов сделать это.В любом случае вы можете поискать в литературе по поиску информации новую работу по этому вопросу.

...