Какой алгоритм использует Google, чтобы сделать адресную строку браузера Chrome действующей в качестве панели поиска по умолчанию для многих веб-сайтов?
Мне интересно, какой алгоритм использует Google, чтобы сделать адресную строку браузера Chrome, чтобы выступать в качестве панели поиска по умолчанию для многих веб-сайтов, таких как SO, Quroa и т.д., но не для facebook, metastackoverflow и т.д.
Например, если вы хотите найти тему в stackoverflow, вы можете сделать это в chorme.
![enter image description here]()
И результаты поиска непосредственно перенесут вас на страницу stackoverflow. то есть.
![enter image description here]()
То же самое произойдет, если вы выберете поиск quora.com
также в адресной строке chrome. Но это не произойдет, если вы выполните поиск как facebook.com
в адресной строке и на многих других сайтах, на которых есть панель поиска.
Как это происходит? Какой алгоритм использует Google, чтобы это произошло?
Надеюсь, что я понял свой вопрос? Любая помощь будет оценена.
Ответы
Ответ 1
Эта функция оснащена так называемым OpenSearch. Он позволяет указать, как должны создаваться запросы при поиске на веб-сайте. Вы можете прочитать документацию здесь: http://www.opensearch.org/Home
Например, StackOverflow имеет в своем исходном коде HTML следующее:
<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&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.
Ответ 2
Chrome использует механизм поисковых систем. Здесь описано, как его использовать
http://support.google.com/chrome/bin/answer.py?hl=en&answer=95653&topic=14676&ctx=topic
Chrome автоматически определяет поля поиска и добавляет соответствующие правила в список поисковых систем. Возможно, он использует механизм анализа документов. Hense конкретный сайт может быть добавлен или нет из-за его разметки окна поиска.
https://superuser.com/info/276069/google-chrome-automatically-adding-websites-to-my-list-of-search-engines
Если вы хотите узнать о алгоритме синтаксического анализа, единственный способ, который я вижу, - просканировать источники хрома
Кроме того, вы можете редактировать список поисковых систем вручную.
PS: И это не только хромированная функция, но и другие браузеры имеют похожие вещи. Опера в качестве примера http://tech.gaeatimes.com/index.php/archive/how-to-easily-use-manage-your-search-engines-in-opera-browser/