Какой алгоритм использует Google, чтобы сделать адресную строку браузера Chrome поисковой строкой по умолчанию для многих веб-сайтов?

Мне интересно, какой алгоритм использует Google, чтобы заставить адресную строку браузера Chrome действовать как панель поиска по умолчанию для многих веб-сайтов, таких как SO, Quroa и т. д., но не для facebook, metastackoverflow и т. д.

Например, если вы хотите найти тему в stackoverflow, вы можете сделать это в chorme.

введите здесь описание изображения

И результаты поиска приведут вас прямо на страницу stackoverflow. то есть

введите здесь описание изображения

То же самое произойдет, если вы решите искать quora.com также в адресной строке Chrome. Но этого не произойдет, если вы ищете facebook.com в адресной строке и на многих других веб-сайтах, где есть панель поиска.

Как это происходит? Какой алгоритм использует Google для этого?

Надеюсь, я ясно выразил свой вопрос? Любая помощь будет оценена по достоинству.


person user1518659    schedule 07.01.2013    source источник


Ответы (2)


Эта функция основана на так называемом OpenSearch. Он позволяет указать, как должны формироваться запросы при поиске на сайте. Вы можете прочитать документацию здесь: http://www.opensearch.org/Home

Например, в исходном HTML-коде StackOverflow есть следующее:

<link rel="search" type="application/opensearchdescription+xml" title="Stack Overflow" href="/opensearch.xml">

Если вы затем откроете файл /opensearch.xml, вы увидите следующее:

<?xml version="1.0" encoding="UTF-8" ?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
  <ShortName>Stack Overflow</ShortName>
  <Description>Search Stack Overflow: Q&amp;A for professional and enthusiast programmers</Description>
  <InputEncoding>UTF-8</InputEncoding>
  <Image width="16" height="16" type="image/x-icon">http://sstatic.net/stackoverflow/img/favicon.ico</Image>
  <Url type="text/html" method="get" template="http://stackoverflow.com/search?q={searchTerms}"></Url>
</OpenSearchDescription>

Наиболее важной частью является строка, в которой указана строка поискового запроса в строке 7.

person Ryan Tse    schedule 24.01.2013

Chrome использует механизм поисковых систем. Здесь описано, как его использовать http://support.google.com/chrome/bin/answer.py?hl=ru&answer=95653&topic=14676&ctx=topic

Chrome автоматически определяет окна поиска и добавляет соответствующие правила в список поисковых систем. Возможно, его движок основан на разборе документов. Следовательно, конкретный сайт может быть добавлен или нет из-за разметки окна поиска. https://superuser.com/questions/276069/google-chrome-automatically-adding-websites-to-my-list-of-search-engines

Если вы хотите узнать об алгоритме синтаксического анализа, единственный способ, который я вижу, - это копаться в источниках Chrome.

Кроме того, вы можете редактировать список поисковых систем вручную.

PS: И это не только особенность хрома, в других браузерах есть подобные вещи. Opera в качестве примера "nofollow noreferrer">http://tech.gaeatimes.com/index.php/archive/how-to-easily-use-manage-your-search-engines-in-opera-browser/

person Юра Евтушенко    schedule 18.01.2013