Как Amazon Faceted Search так быстро?
Найдите термин на amazon.com, например "переполнение стека", и результаты поиска вернутся очень быстро.
В левой части окна есть фасетный поиск, который показывает в определенных категориях, количество продуктов, соответствующих этому термину.
Затем вы можете развернуть эти термины. Например, существует 1094 книг, которые соответствуют термину, который разбит на "Компьютеры и Интернет" (1003), "Наука" и т.д.
Учитывая, что поиск книг охватывает содержание некоторых из этих книг, мне кажется, что это очень впечатляющий подвиг.
Как это делает амазонка? Массовое распараллеливание? например, каждый node знает о нескольких продуктах?
Кстати, я увидел, что в тексте "Душа новой машины" появляется "переполнение стека", книга, которую я помню с 1981 года.
Ответы
Ответ 1
Короткий ответ - это много индексирования.
Более длинный ответ: много индексирования, много избыточности, много кэширования и интеллектуального разбиения.
Реальный ответ - прочитайте эту книгу:
http://www-csli.stanford.edu/~hinrich/information-retrieval-book.html
(Это бесплатно, и это очень хорошо).
Ответ 2
Ну, есть распараллеливание, но одна из тех вещей, которые каждый делает для бэкэнда этих типов вещей, - это медленные процессы (например, семантический анализ содержимого книги) и быстрый поиск на нем. Они буквально кэшируют результаты поиска в некоторых больших базах данных, так что все, что им нужно сделать, это поиск db в результатах поиска. Возможно, я неправильно понял этот вопрос, но он похож на то, что делает Google. Вы не думаете, что их пауки просматривают веб-сайты для ваших сайтов, когда вы входите в поисковый запрос, верно?