Как поисковая система Google так быстро находит информацию, что ещё не ввёл свой запрос полностью, а тебе уже выкладывают кучу сайтов, а ведь поиск идёт по большущему количеству страниц...
Как поисковая система Google так быстро находит информацию, что ещё не ввёл свой запрос полностью, а тебе уже выкладывают кучу сайтов, а ведь поиск идёт по большущему количеству страниц...
Я разрабатывал некоторые программные алгоритмы и думаю если бы я делал подобное, я бы сделал так:
Пользователь ввёл первую букву. Гугл прочитал что это за буква и уже ищет слова только из папки, в которой только слова на эту одну букву. Количество слов, из которых нужно выбирать уже сокращается во столько раз, на сколько папок делят. А папок всего, наверное, сколько всего символов в Юникоде.
Ввёл человек вторую букву - теперь уже ищется внутри этой папки. То есть внутри неё находит другую папку, с названием из двух букв первой+второй буквы.
Находит там информацию о том, какие слова на эту букву чаще вводятся и выдаёт небольшой список.
Да и у Гугла сервера - суперкомпьютеры, поэтому они могут за мгновение просчитать очень много логических разветвлений.
Мгновенный поиск от Гугла подразделяется на четыре этапа. Первый этап происходит еще до поискового запроса, это индексация страниц, для более легкого поиска. Во время поиска (второй этап), показываются подсказки (это и есть живой поиск). Следующий, третий этап, это определение рейтинга сайтов по запросу по множеству критериев. Ну и последний, четвертый этап, это загрузка результата согласно рейтинга. На фото и в этой статье можно посмотреть подробнее.
Поиск осуществляется еще при вводе слов. Не секрет, что у всех поисковых служб есть статистика запросов, вот ей и пользуетсся живой поиск, подбирая самые частые запросы к вашим введеным буквам или словам. Самые частые запросы по вашему вводу становятся видны сразу, еще до введения в поисковую строку полной фразы. Это хоть чуть-чуть, но все же экономит время)
Добавить комментарий