Какой язык понимает Yandex

Введение в язык поисковых запросов сервера Yandex
Дата публикации:2006
Поделиться в Twitter Поделиться в F******k Поделиться в VKontakte Поделиться в Telegram Поделиться в Mastodon

Предварительные замечания

В этой публикации примеры поисковых запросов помещены в квадратные скобки. Это означает, что в поисковой форме на странице www.yandex.ru мы будем вводить текст, находящийся между квадратными скобками, а сами квадратные скобки вводить не будем.

Чтобы долго не рыскать по странице и сразу попасть в поле ввода поискового запроса, при работе с программой экранного доступа JAWS следует нажать клавишу с латинской "F" (русской "А").

Для того чтобы упростить набор интернет-адреса поисковой системы Yandex, мы можем воспользоваться коротким адресом: ya.ru. Кроме этого, данный поисковый сервер предоставляет специальную страницу large.yandex.ru, адаптированную для использования незрячими и слабовидящими искателями.

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

Настройка результатов поиска

Прежде всего организуем наше рабочее пространство, то есть определим, в каком виде будут отображаться результаты поиска. Для этого пройдем по ссылке Настроить поиск и на открывшейся web-странице установим нужные нам параметры. Эти параметры будут сохранены только в том случае, если в нашем браузере разрешено сохранение cookies.

Параметров, которые задают внешний вид результатов поиска, не так много и понять их назначение не составит труда. Здесь можно включить/отключить отображение ссылки на страницу, даты обновления, соответствия запросу, определить количество цитируемых фрагментов с найденными словами и т.д. Отключим наименее полезные для нас графические баннеры и отображение пиктограмм найденных сайтов. Можно еще поэкспериментировать с количеством результатов, отображаемых на одной странице: 10, 20, 30, 40 или 50. Промежуточные значения задать нельзя. Чем меньше результатов отображается на странице, тем быстрее загружается эта страница. Первое время подойдет 10 или 20, так как в случае неудачных запросов можно получить страницы с большим количеством ненужных сайтов. Вместо того, чтобы пролистывать последовательно страницу за страницей в поиске подходящего сайта, можно (а порой даже нужно) изменить формулировку поискового запроса так, чтобы исключить лишнюю информацию. О том, какие средства для этого предоставляет поисковый сервер Yandex, мы и поговорим ниже.

Кстати, при работе с программой экранного доступа JAWS можно быстро перейти к списку результатов поиска, нажав клавишу с латинской буквой "L" (русской "Д").

Основные принципы

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

  • Слова, указываемые в поисковых запросах, могут стоять в любой из форм, допускаемых правилами языка. В результатах поиска будут отражены все существующие формы слова. Например, существительное может стоять в любом падеже и числе, что не скажется на результатах поиска, то есть запросу [творчество] будут соответствовать слова "творчеством", "творчестве", "творчества" и т.д.
    Следует учитывать, что разные части речи - это разные слова, а не разные формы одного и того же слова. Например, "творчество" и "творческий" являются разными словами.
    Поиск с учетом всех форм слова называется "морфологическим". На большинстве поисковых систем по умолчанию выполняется именно такой вид поиска.
  • По умолчанию регистр букв не влияет на результат поиска, то есть по запросу [блок] в результаты поиска попадут и "строительные блоки", и "Александр Александрович Блок".
  • В поисковом запросе игнорируются так называемые "стоп-слова" или "слова-тормоза". К таким словам относятся часто встречающиеся предлоги, союзы, местоимения и т.д. Игнорирование таких слов является общим принципом для большинства поисковых систем, так как обработка огромного числа страниц, содержащих эти слова, надолго замедляет процесс получения результатов поиска.
  • На результаты поиска влияет согласование слов в поисковом запросе. Если два рядом стоящих слова согласованы, то Yandex пытается отобрать в первую очередь те страницы, где между этими словами нет других слов, то есть ищется неразрывное словосочетание. Если между словами поискового запроса нет согласования, то Yandex будет отбирать страницы, на которых искомые слова отдалены друг от друга на произвольное количество слов.

Изменение общих принципов

При помощи языка запросов или формы расширенного запроса мы можем изменить принципы формирования результатов поиска.

Если необходимо, чтобы поиск выполнялся для одной конкретной формы слова, то перед этой формой слова нужно поставить ! (восклицательный знак), причем между восклицательным знаком и словом не должно быть пробела. Например: [!творчеством].

Если необходимо исключить из результатов поиска похожие по написанию слова, то нужно указать нормальную форму искомого слова и поставить перед ним два восклицательных знака. Например, по запросу [!!дорога] в результаты преимущественно попадут страницы, содержащие существительное "дорога" в различных падежных формах, но не попадут страницы, содержащие формы прилагательного "дорогой" ("дорог" или "дорога").

Если необходимо, чтобы стоп-слово (а также любое слово, которое мы хотим всенепременно увидеть в результатах поиска)учитывалось при поиске страниц, следует перед этим словом поставить знак + (плюс), причем между плюсом и словом не должно быть пробелов. Например: [Война +и мир].

Расположение слов

Если нам необходимо найти точное совпадение, то слова в поисковом запросе следует заключить в двойные кавычки: ["О социальной защите инвалидов"]. В этом случае Yandex будет искать такие web-страницы, на которых присутствует точно такой же текст, как и текст поискового запроса в кавычках. Кстати, подобным образом поиск точных совпадений оформляется на поисковых серверах Google и Rambler.

Если необходимо найти слова, которые обязательно должны располагаться внутри одного предложения, то в поисковом запросе между этими словами нужно поместить символ "&". Например, запросу [учебник & истории] будет соответствовать текст "учебник истории" или "учебник по истории" и т.п. Однако, если слова "учебник" и "истории" будут расположены в разных предложениях, например: "...учебник по математике. Забавные студенческие истории...", то такие страницы будут исключены из результатов поиска.

Если необходимо, чтобы все искомые слова содержались в найденных документах (независимо от порядка следования), то между словами в поисковом запросе нужно поместить символы "&&". Например, запросу [права && инвалидов] будут соответствовать страницы, где одновременно встречаются слова "право" во всех своих формах и "инвалид" во всех своих формах. Однако страницы, на которых есть только одно из этих слов, будут исключены из результатов поиска.

Можно также указать предельное расстояние (в словах) между ключевыми словами. Это означает, что web-страницы, на которых искомые слова отстоят друг от друга больше, чем на указанное в запросе число слов, будут исключены из результатов поиска. Расстояние между словами задается так: после поискового слова ставится символ "/" (слэш), сразу после которого указывается расстояние до следующего поискового слова. Например, при запросе [методы решений /2 уравнений] в результаты попадут в том числе страницы, содержащие текст "методы решения линейных уравнений", но не попадут страницы, содержащие текст "методы решения линейных операторных уравнений".

Если необходимо указать точный порядок следования слов, то после символа / (слэш) необходимо поместить знак "+" для прямого порядка или знак "-" для обратного. Например: [первый /+2 термодинамики].

Похожим образом можно определить окрестность, в которой должны находиться искомые слова. Для этого после искомого слова, вокруг которого необходимо определить окрестность, помещается символ / (слэш), за которым в круглых скобках указываются левая (со знаком минус) граница окрестности и правая (со знаком плюс) граница окрестности. Например: [Гоголь /(-2 +1) Николай].

Поиск любого из указанных слов

Теперь предположим, что нам необходимо найти любое слово из двух или нескольких слов, например, нам все равно, что это будет -- "документация", "руководство" или "описание". Для такого поиска следует между искомыми словами поместить символ "|". Например, по запросу [документация | описание | руководство postgresql] будут отобраны страницы, содержащие в том числе слова "документация postgresql", "описание postgresql", "руководство postgresql", а также все четыре искомых слова. Использование символа | позволяет осуществлять эффективный поиск в тех случаях, когда для искомого понятия существует много синонимов и в результатах поиска необходимо отразить все это многообразие.

Исключение слов

Нередко возникает необходимость исключить из результатов поиска web-страницы, содержащие определенные слова. Например, при поиске книг нас могут совершенно не интересовать книжные магазины. Для того чтобы исключить слово из результатов поиска, после искомых слов следует поставить символы ~~, а затем указать исключаемое слово. Например: [Достоевский "Преступление и наказание" ~~ магазин].

Для того чтобы исключить несколько слов, можно использовать скобки и символ "|", например: [Достоевский "Преступление и наказание" ~~ (магазин | купить | цена)]. Однако нужно быть аккуратным при подборе исключаемых слов. Так, в данном примере в результаты поиска не попадут страницы с текстом романа "Преступление и наказание", потому что в самом романе содержатся исключаемые слова: "а оно и купить-то его новое у ювелира за полтора рубля можно".

Кроме того, можно указать, чтобы в результатах поиска исключаемое слово не встречалось в одном предложении с искомыми словами. Например, при запросе [Дюма ~отец] будут отобраны те web-страницы, где есть слово "Дюма" и в то же время в одном с ним предложении нет слова "отец".

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

Круглые скобки

Для того чтобы однозначно определить последовательность выполнения операторов в поисковом запросе, следует использовать круглые скобки. Выше мы уже использовали скобки, чтобы сгруппировать несколько слов-исключений.Скобки позволяют обращаться с несколькими словами так же, как с одним словом. Например: [программы & (синтеза | распознавания) & (речи | голоса)].

Другие операторы языка запросов

Кроме упомянутых выше операторов языка запросов Yandex, нам могут пригодится следующие:

  • Поиск текста в заголовке страниц: $title (_запрос_)
    где _запрос_ - это текст, который нужно найти в заголовках страниц. Например: [$title (Новости науки)].
  • Поиск на определенном сайте или группе страниц: _запрос_ << url="_ссылка_на сайт_"
    где _запрос_ - текст запроса, а _ссылка_на_сайт - это правильный url без указания протокола. При задании ссылки можно использовать символ подстановки "*" (звездочка), который помещается в конце ссылки и указывает на то, что поиск будет выполняться среди страниц, адрес которых начинается с указанной ссылки. Например: [компилятор << url="www.tiflocomp.ru/docs/*"].
  • Поиск на определенном сайте или группе страниц с учетом всех зеркал сайта: _запрос_ << host="_ссылка_на_страницу_"
    Параметры и действие этого оператора аналогичны оператору "url=".
  • Поиск на страницах, ссылающихся на определенный адрес: _запрос_ << link="_адрес_страницы_"
    где _запрос_ - текст запроса, а _адрес_страницы_ - это правильный urlстраницы, на которую должны ссылаться страницы, попавшие в результаты поиска. Здесь тоже можно использовать символ подстановки "*" в адресе страницы. Например: [обработка звука << link="www.websound.ru/*"]. Это может быть полезно тем, кто при помощи поиска в Yandex хочет отслеживать ссылки на собственный сайт в контексте определенных ключевых слов.
  • Поиск в документах определенного типа: _запрос_ << mime="_тип_файла_"
    где _запрос_ - это текст запроса, а _тип_файла_ - это один из следующих типов:
    • HTML,
    • PDF (Adobe Portable Document Format),
    • DOC (Microsoft Word),
    • PPT (Microsoft PowerPoint),
    • XLS (Microsoft Excel),
    • RTF (Rich Text Format),
    • SWF (Macromedia Flash).
    Например: [(инструкция | руководство) & сотовый телефон << mime="PDF"].
  • Поиск документов на определенном языке: _запрос_ << lang="_язык_"
    где _запрос_ - текст запроса на соответствующем языке, а _язык_ - это двухбуквенное обозначение языка:
    • русский (ru),
    • украинский (uk),
    • белорусский (be),
    • английский (en),
    • французский (fr),
    • немецкий (de).
    Например: [aveugle && ordinateur << lang="FR"]. Следует учитывать, что выбор языка документа не влияет на домены, в которых Yandex осуществляет поиск, то есть задание, например, немецкого языка не означает, что Yandex будет искать документы, расположенные в национальном домене .de.
  • Поиск страниц, похожих на указанную страницу: like="_адрес_страницы_образца_"
    где _адрес_страницы_образца - это правильный url той страницы, которая должна быть использована в качестве образца для поиска. Это бывает полезно, если результаты поиска являются неудовлетворительными и никакие идеи по улучшению поискового запроса в голову не приходят. Однако среди отобранных страниц есть одна или две более-менее похожих на то, что нам нужно. Вот эти более-менее похожие страницы можно задать в качестве образца для поиска. Например: [like="www.tiflocomp.ru/index.php"].
  • Поиск на страницах, зарегистрированных в рубриках каталога Yandex: _запрос_ << cat=(_id_темы_)
    где _запрос_ - это текст запроса, а _id_темы - это идентификатор темы, который можно получить, прибавив к номеру тематической рубрики число 9000000. Номера тематических рубрик можно узнать на специальной странице.
    Пример поиска в тематической рубрике "Энциклопедии": [Луи Брайль << cat=(9003366)].
  • Поиск документов в определенном регионе: _запрос_ cat=(_id_региона_)
    где _запрос_ - это текст запроса, а _id_региона_ - это идентификатор региона, который можно получить, прибавив к номеру региона в каталоге Yandex число 11000000. Номер региона можно узнать на специальной странице.
    Пример поиска документов по региону "Пермь": [образование (инвалидов | ограничением здоровья)<< cat=(11000050)].

Заключение

Итак, мы познакомились с различными операторами языка поисковых запросов Yandex, однако приведенные в публикации операторы не исчерпывают возможности поисковой системы. Более подробно с языком поисковых запросов, а также с рекомендациями по поиску можно ознакомиться по следующим ссылкам:



Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2024