Какой алгоритм / концепция поиска используется в Google? - PullRequest
5 голосов
/ 01 апреля 2009

Какой алгоритм / концепция поиска используется в Google?

Ответы [ 8 ]

13 голосов
6 голосов
/ 01 апреля 2009

Индексация

Если вы хотите приступить к основам:

Google использует перевернутый индекс Интернета. Это означает, что Google имеет индекс всех страниц, которые он сканирует, основываясь на условиях на каждой странице. Например, термин Google соответствует этой странице, главной странице Google и статье Википедии для Google, среди прочих.

Таким образом, когда вы заходите в Google и вводите «Google» в поле поиска, Google проверяет свой индекс всех терминов, доступных в Интернете, и находит запись для термина «Google», а также список всех страниц, которые упомяните в нем этот термин.

Для ветеранов:

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

Другими словами, если на странице есть термин Google , а на странице есть ссылка на другую веб-страницу или ссылка на нее, на другую страницу в индексе можно ссылаться под термином Google . Все это и многое другое объясняет, почему данная страница возвращается для данного запроса.

Если вы хотите понять, почему страницы упорядочены так, как они есть в ваших результатах поиска, это станет еще более интересным.

Рейтинг

Чтобы приступить к основам:

Возможно, один из самых основных алгоритмов, которые поисковая система может использовать для сортировки ваших результатов, известен как термин частота-обратная частота документа (tf-idf). Проще говоря, это означает, что ваши результаты будут упорядочены по относительной важности ваших поисковых терминов в документе. Другими словами, документ, имеющий 10 страниц и содержащий слово Google один раз, не так важен, как документ, содержащий 1 страницу и содержащий слово Google десять раз.

Для ветеранов:

Опять же, Google делает намного больше, чем ваша основная поисковая система, когда дело доходит до ранжирования результатов. Google внедрил вышеупомянутый запатентованный алгоритм PageRank. В кратком изложении, PageRank улучшает алгоритм tf-idf, принимая во внимание популярность / важность данной страницы. На данный момент об популярности / важности можно судить по ряду факторов, которые Google просто не скажет нам. Однако на самом базовом уровне Google может сказать, что одна страница важнее другой, потому что на нее ссылается множество других страниц.

4 голосов
/ 01 апреля 2009

Запатентованный Google PigeonRank ™

Ничего себе, они первоначально отправили это 7 лет назад из среды ...

3 голосов
/ 01 апреля 2009

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

1 голос
/ 15 июня 2009

Я думаю, что «Анатомия крупномасштабной гипертекстовой поисковой системы» немного устарела. Вот недавний разговор о масштабируемости: Проблемы в создании крупномасштабных систем поиска информации

0 голосов
/ 03 декабря 2015

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

(я знаю, что это на самом деле не отвечает на вопрос, но в этом-то и нет смысла.)

0 голосов
/ 16 февраля 2010

Интересуясь алгоритмом ранжирования страниц и тому подобным, я был встревожен, обнаружив, что введение личного поиска в конце года (не так широко комментируется), похоже, сильно изменилось - см. Google Gold Standard и Персональные результаты Google

0 голосов
/ 01 апреля 2009

Инвертированный индекс и MapReduce - это основы большинства поисковых систем (я полагаю). Вы создаете индекс для контента и запускаете запросы к этому индексу для отображения релевантности. Google, однако, делает гораздо больше, чем просто указатель того, где встречается каждое слово, и сколько раз оно появилось, где оно появляется, где оно встречается по отношению к другим словам, упорядочению и т. Д. остановите слова "которые могут включать такие вещи, как" и "," the "и т. д. (в основном" простые "слова, которые встречаются часто и, как правило, не в фокусе запроса). Кроме того, они используют такие вещи, как Page Rank (упомянутый TStamper) для упорядочивания страниц по релевантности и важности.

MapReduce в основном берет одну работу и делит ее на меньшие работы и позволяет этим меньшим работам работать во многих системах (по частям для масштабируемости и по частям для скорости). Если я правильно помню, Google смог использовать «средние» компьютеры для распределения заданий вместо компьютеров серверного уровня. Поскольку возможности обработки одного компьютера достигают пика, многие технологии стремятся к облачным вычислениям, где работа выполняется многими физическими машинами.

Я не уверен, как много работает поиск в Google, он более точно сканирует. Разница заключается в том, что они просто начинают в определенных точках и ползут к чему-либо достижимому и повторяются, пока не попадают в какой-то тупик.

...