Неточные подсчеты поисковых систем (около результатов xxx)

StackOverflow https://stackoverflow.com/questions/146980

Вопрос

Когда вы ищете в Google (я почти уверен, что Альтависта сделала то же самое), он говорит: «Результаты 1-10 из примерно xxxx»...

Меня это всегда удивляло...Что значит «примерно»?
Как они могут примерно считать?
Я понимаю, почему они не могут в разумные сроки назвать точную цифру, но как им вообще прийти к этой «приблизительной» цифре?

Я уверен, что за этим стоит много теории, которую я пропустил...

Это было полезно?

Решение

Скорее всего, это похоже на примерное количество строк, используемое большинством систем SQL при планировании запросов;количество строк в таблице (известное точно на момент последнего сбора статистики, но, как правило, не актуальное), умноженное на оценку избирательности (обычно основанную на своего рода модели статистического распределения, рассчитанной путем выборки некоторого небольшого подмножества) рядов).

В руководстве PostgreSQL есть раздел, посвященный статистика, используемая планировщиком это довольно информативно, по крайней мере, если вы перейдете по ссылкам на pg_stats и другие разделы.Я уверен, что это на самом деле не описывает то, что делает Google, но, по крайней мере, показывает одну модель, в которой вы можете получить первые N строк и оценить, сколько их может быть.

Другие советы

Не имеет отношения к вашему вопросу, но напоминает небольшую шутку, которую мой друг отпустил, когда выполнял простой поиск по эго (и не говорите мне, что вы никогда не гуглили свое имя).Он сказал что-то вроде

«Ух ты, около 5000 результатов всего за 0,22 секунды!А теперь представьте, сколько это результатов за одну минуту, один час, один день!»

Я думаю, что оценка основана на статистике.Они не собираются подсчитывать все соответствующие совпадения страниц, поэтому они (я бы) примерно определили, какой процент страниц будет соответствовать запросу, на основе некоторой эвристики, а затем использовали это в качестве основы для подсчета. .

Одной из эвристик может быть подсчет выборки: возьмите случайную выборку примерно из 1000 страниц и посмотрите, какой процент совпал.Чтобы получить статистически значимый ответ, в выборке не потребуется слишком много людей.

Одна вещь, о которой еще не упоминалось, — это дедупликация.Некоторые поисковые системы (я не уверен, как именно это делает Google) используют эвристику, чтобы попытаться определить, содержат ли два разных URL-адреса одинаковый (или очень похожий) контент и, следовательно, являются ли они дублирующими результатами.

Если имеется 156 уникальных URL-адресов, но 9 из них помечены как дубликаты других результатов, проще сказать «около 150 результатов», а не что-то вроде «156 результатов, которые содержат 147 уникальных результатов и 9 дубликатов».

Возврат точного количества результатов не стоит затрат на точные вычисления.Поскольку знать, что было 1 004 345 результатов, а не «около 1 000 000», не так уж и важно, с точки зрения конечного пользователя более важно возвращать результаты быстрее, а не тратить дополнительное время на вычисление общей суммы.

От самого Google:«Подсчеты Google общего количества результатов поиска являются приблизительными.Мы понимаем, что приблизительная цифра имеет ценность, и, предоставляя приблизительную оценку, а не точную информацию, мы можем быстрее выдавать качественные результаты поиска».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top