Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....

 

Недoкументированные операторы языка запросов Яндекса

Автор ВикторияИ, 10-01-2015, 04:04:58

« назад - далее »

ВикторияИTopic starter

За время своего существования язык запросов Яндекса претерпел существенные изменения. Причем изменения эти были далеко не в лучшую сторону для пользователя. Постепенно исчезло много операторов, применение которых пытливому исследователю позволяло творить чудеса. Так, в 2006-м году исключительно применением стандартного функционала языка запросов можно было полностью восстaновить формулу текстового ранжирования Яндекса в аналитическом виде. И частично – формулу ссылочного ранжирования. Например, можно было установить, что вхождение термина в тег title ровно в два раза весомее вхождения в body. И многие другие интересные факты. С той поры исчезли замечательные операторы, такие как link (поиск по ссылающимся дoкументам), anchor (поиск по текстам ссылок), : и :: (разные варианты присвоения веса термину из запроса), softness (настройка мягкости для фильтрации по кворуму) и другие. Текущий список дoкументированных операторов можно найти в помощи Яндекса: http://help.yandex.ru/search/query-language/search-operators.xml

Однако, до сих пор в поиске продолжают использоваться операторы, которые исчезли из дoкументации. Например, оператор << (неранжирующее логическое «И») бывает очень полезен при построении достаточно сложных конструкций в запросе. Более того, до сих пор используются операторы, которые никогда не были задoкументированы. По крайней мере для большого поиска.

В свое время в разделе помощи Яндекса, посвященной Яндекс.Серверу (приложению для поиска в корпоративных сетях и поиска по сайту), содержался многостраничный дoкумент «Яндекс.Сервер. Руководство по установке и эксплуатации» (до сих пор отдельные версии этого дoкумента для различных сборок, закачанные на сторонние сайты, можно найти в глубинах сети). Там довольно подробно описывался язык запроса, который был несколько шире задoкументированного языка запросов для большого поиска по вебу. Но что самое интересное, многие операторы из руководства Яндекс.Сервера работали (и до сих пор работают) в большом поиске. Рассмотрим самые, на мой взгляд, интересные из них.

Оператор intext.

Пожалуй, наиболее интересный оператор. Выдача с его использованием не пустая и отличается от выдачи без его использования:


Заявлено, что этот оператор используется для поиска только в текстах дoкументов. И это действительно похоже на правду. Например, дoкументы, найденные по ссылке, этим оператором, не ищутся:

То есть, при ранжировании по сути игнорируется анкор-файл. Этот оператор может быть весьма полезен при исследовании текстовой релевантности дoкументов.

Оператор inlink.

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



Выдача становится непустой, если хотя бы одно слово запроса вынести из-под данного оператора:



Однако трудности с интерпретацией полученных результатов сводят к минимуму полезность этого оператора.

Оператор inpos.

Выдержка из руководства: «Специальное имя атрибута для указания точного диапазона позиций, в которых должен находиться предыдущий лист или скобка. Имеет синтаксис inpos:N1..N2, где N1 и N2 — целые положительные числа». Применение различных интервалов к запросу дает любопытные эффекты. Например, при достаточно малом диапазоне выдача сужается до дoкументов, содержащих ключевые слова только в адресе дoкумента:

Оператор linkint.

Сильно ужатая версия былого оператора link, осуществляющая поиск внутренних ссылок на определенный дoкумент. Однако может быть полезен при решении определенных задач.

Оператор anchorint.

Аналогичным образом ужатая на внутренние ссылки версия отмененного оператора anchor. Осуществляет поиск по дoкументам, содержащих ключевую фразу в текстах своих ссылок, ведущих на внутренние страницы того же сайта. Любопытна конструкция, объединяющая операторы linkint и anchorint (аналогичным образом в свое время можно было объединить в одном запросе операторы link и anchor), и позволяющая найти все внутренние страницы сайта, ссылающиеся на данную страницу заданной ключевой фразой:

Менее любопытны, но на мой взгляд, заслуживают упоминания операторы, позволяющие искать по определенным фрагментам текста дoкументов:

• address – поиск внутри текстов, заключенных в теге
• quote - поиск внутри текстов, заключенных в теге


Оператор image.

Осуществляет поиск по имени файлов изображений, используемых в дoкументе. Так, например, например, на страницах сайтов, принадлежащих Яндексу, используется однопиксельное изображение с именем файла La6qi18Z8LwgnZdsAr1qy1GwCwo.gif. С помощью оператора image можно найти все страницы, содержащие такое изображение:


Оператор anchormus

Ищет ссылки на музыкальные файлы, содержащие в анкоре поисковый запрос:



Оператор linkmus

Позволяет найти все страницы, ссылающиеся на определенный музыкальный файл:



Оператор idate

В отличие от канонического оператора date, который ищет дoкументы с заданной датой последнего изменения (формулировка взята из раздела дoкументные операторы помощи Яндекса^ http://help.yandex.ru/search/query-language/search-operators.xml), оператор idate ищет дoкументы с заданной датой последней индексации.

Вообще под датой последнего изменения на самом деле понимается возраст дoкумента в поисковой базе. Так, например, отсортировав выдачу по времени (добавляется параметр &how=tm в URL страницы выдачи), видим, что главная страница Яндекса датирована 14 августа 2006 года:



Именно по этой дате главная страница Яндекса находится с помощью оператора date



В случае же оператора idate главная страница Яндекса на момент написания статьи находится совсем по другой дате – 17 декабря 2014 года (для тех, кто владеет старым добрым методом половинного деления, нахождение этой даты не составляет труда):



Что почти совпадает с датой сохраненной копии – 18 декабря 2014 года:



Удивительно, но в индексе по сей день продолжают находиться дoкументы, не переиндексировавшиеся годами. Самая старая сохраненная копия дoкумента, которую мне удалось найти, датирована 26 мая 2008 года:



И, в заключение, пожалуй, стоит упомянуть пусть совсем малоинтересные в практическом применении, но тем не менее, имеющие место быть недoкументированные операторы, позволяющие искать по определенным фрагментам кода дoкументов:


style – поиск по значению атрибута stylesheet тега link



applet – поиск по значению атрибута code тега applet:



script - поиск по значению атрибута src тега script:

     
object – поиск по содержимому атрибутов тега object:


action – поиск по значению атрибута action тега form:


profile - поиск по значению атрибута profile тега head:



derzaiii

я думаю желательно указать ссылкой первоисточник данной статьи
  •  


ВикторияИTopic starter

#2
Цитата: derzaiii от 10-01-2015, 09:16:49я думаю желательно указать ссылкой первоисточник данной статьи

статья скомпилирована из двух...

Автор: Сергeй Людкевич http://moikrug.ru/services/701889910

[Lichkin-rus]


Espresso

Цитата: vikaivanova от 10-01-2015, 04:04:58Оператор intext.

Пожалуй, наиболее интересный оператор.

Имхо, самый полезный оператор из всех описанных здесь



Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....