10 марта 2008

Ответ от Свистунович

"Строится так назваемый "обратный индекс".
От слова - к списку сайтов, страниц где это слово есть.

До того как Вы еще задали запрос идет интенсивная индексция всех страниц, до которых поисковик может дотянуться.
Он скачивает по порядку страницы, и выдялет из них слова, по которым в будущем будет идти поиск. Например:
Страница1 -> Слово1, Слово2, Слово3
Страница2 -> Слово2, Слово3, Слово4, Слово5
Страница3-> Слово1, Слово2, Слово4
и т.д. это так нзываемый "прямой индекс" от страницы мы имеем список слов из нее.

Затем для каждого слова и строится обратный индекс
Слово1 -> Страница1, Страница3
Слово2 -> Страница1, Страница2, Страница3
Слово3 -> Страница1, Страница2
Слово4 -> Страница2, Страница3
Слово5 -> Страница2

Все слова собираются в так назваемый "Лексикон" - список всех слов, и для каждого слова начало списка страниц, где это слово есть.
В свое время Гугл сообщал, что их Лексикон состоит более чем 2млрд слов. Сколько их сейчас - наверное и сам Гугл не знает.
Сам лексикон можно зранить разными способавми, в т.ч. и в виде суффиксного дерева.

Затем кодга Вы задаете запрос происходит сам процесс поиска.
Слово ищется в Лексиконе - если его нет - то 0 результатов.
Если есть - имеем начало списка страниц - остается только считать и напечатать первые 10 - 1000 страниц.
Гугл до конца этот список не смотрит, он останавливается после ~40000 страниц и раортует приблизительное число ответов."

Это ответ от пользователя Свистунович на вопрос: почему гугл, википедия и тд так быстро ищут по ключевому слову?

Оцените, пожалуйста, этот ответ
Отказаться от рассылки ответов на этот вопрос