3.3  Язык запросов поисковых машин

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

Таблица 3.1 Основные операторы поисковых систем «Aport», «Ramble», «Yandex»

Оператор

Поисковая система

Aport

Rambler

Yandex

И

AND, &, +

AND, &

&&, +

ИЛИ

OR, I

OR, I

I

НЕТ

NOT, –

NOT, !

~~, –

Группировка

( )

( )

( )

В качестве примера, рассмотрим язык запросов поисковой системы «Yandex».

Наиболее распространенными для большинства поисковых запросов  являются команды логического объединения и исключения. Команды «+» и «–» позволяют принудительно добавить или исключить определенные слова из запроса. Слово, помеченное знаком «+» должно в обязательном порядке присутствовать в искомом документе, а слово помеченное знаком «–» должно обязательно отсутствовать в искомом документе. Например, если вы хотите найти котировки акций организаций, среди которых вам в обязательном порядке необходима информация о курсах ОАО «Роснефть», то запрос можно сформулировать так: «котировки акций +Роснефть». Например если вас интересуют объявления о продаже квартир, но вас не интересуют однокомнатные квартиры, то запрос можно составить так: «продам квартиру –однокомнатная». Знак «–» записывается через пробел от предыдущего слова и слитно с последующим, то есть запрос «продам квартиру –однокомнатная» будет обработан поисковой системой корректно, а в запросе «продам квартиру – однокомнатная» знак «–» будет проигнорирован.

Оператор «логическое И», которое обозначается знаком «амперсанд» (&),

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

Оператор «логическое ИЛИ» обозначается знаком «|» и позволяет искать документы, содержащие только одно из перечисленных слов. Например, по запросу «автомобиль | мотоцикл» будут найдены документы, в которых встречается либо слово «автомобиль», либо слово «мотоцикл».

Знак тильды «~» описывает действие, аналогичное действию знака «–», то есть исключает из списка документы, содержащие слова, отмеченные подобным образом. Например, по запросу «планеты ~Меркурий» будут найдены документы, в которых слово «планеты» встречается, а слово «Меркурий» нет.

При удвоении какой-либо команды поставленное условие применяется не к одному предложению, а ко всему документу в целом. Например, запрос «валюты иностранных государств ~~доллар» означает, что поисковая система будет осуществлять поиск документов, где встречаются слова «валюты», «иностранных», «государств», но отсутствует слово «доллар» в пределах всего документа, а не только в предложении, где найдены перечисленные слова. Запрос «музыка && кино» указывает поисковой системе на необходимость поиска документов, в которых встречаются слова «музыка» и «кино» независимо от их месторасположения в документе.

Логические операторы можно комбинировать. Для комбинации служат символы открывающейся и закрывающейся скобки. Например, запрос «телефон & (Nokia | Samsung)» говорит о том, что необходимо найти документы, где есть слова «телефон» и «Nokia» либо где есть слова «телефон» и «Samsung». Иногда при комбинации скобки можно не использовать. При запросе «столицы & Европы && Франция ~~Рим» будут найдены документы, в которых слова «столицы» и «Европы» находятся в пределах

одного предложения, слово «Франция» находится в пределах всего документа и ни разу не встречается слово «Рим».

При использовании в запросе кавычек поисковая система будет искать документы со словосочетанием заключенным в кавычки. Например, при запросе "обыкновенные акции" будут найдены документы где данное словосочетание присутствует, а документы с фразами типа «даже обыкновенные люди могут позволить себе купить акции нашего предприятия» будут проигнорированы.

Поисковая система «Yandex» учитывает все словоформы исходного запроса согласно правилам русского языка. Например, при запросе «стакан», будут найдены документы со словами «стакан», «стаканы», «стаканом» и т.д. При необходимости произвести поиск по точной словоформе используют оператор «!», например «!стаканом». Система найдет документы со словом «стаканом» и проигнорирует все остальные словоформы.

«Yandex» различает регистр, в котором пользователь вводит свой запрос. Например, при запросе «Учитель» будут найдены документы с фамилией российского режиссера А. Учителя, а также документы про школьных учителей, но при этом слово «учитель» будет стоять в таких документах только в начале предложения. При запросе же «учитель» будет составлен отчет со ссылками на документы с данным словом, при этом не будет учтено, с большой или маленькой буквы в данных документах оно записано.

Иногда бывает необходимо точно указать максимально допустимое расстояние между искомыми словами. Такая форма поиска называется поиском с учетом расстояния между словами. Разберем данный вид поиска на простом примере. Имеется предложение: «Книжный магазин расположен на соседней улице». Это предложение содержит 6 слов, которые мы условно пронумеруем от 1 до 6 по порядку. Для того чтобы вычислить расстояние между словами нужно вычислить разницу между их номера в предложении. Например, расстояние между словами «расположен» и «магазин» составляет 3-2=1. Расстояние между словами «улице» и «книжный» составляет 6-1=5. Расстояние между словами «книжный» и «магазин» составляет 1-2=-1.

Для указания расстояния между искомыми словами используется оператор «/». Для указания максимального количество слов между искомыми словами необходимо между искомыми словами поставить «/» и записать число допустимых слов, например: «магазин /4 улице». При данном запросе расстояние между словами «магазин» и

«улице» не должно превышать 4 слова. Для указания точного расстояния используется форма «/+n», где n – точное числовое выражения расстояния между искомыми словами. Например, при запросе «книжный /+5 улице» будут найдены документы, в которых слова «книжный» и «улице» находятся в пределах одного предложения и второе расположено через 4 слова от первого.

Помимо максимального расстояния можно указать и минимальное. Для этого используется форма «/(m n)», где m – минимальное, а n – максимальное расстояние. Например, при запросе «магазин /(2 4) улице» должны быть найдены документы, в которых  расстояние между словами «магазин» и «улице» составляет не более 4, но не менее 2 слов. Запрос «соседней /(-1 1) улице» означает, что слово «соседней» должно находиться от слова «улице» либо слева, либо справа.

Команды поиска с учетом расстояния могут быть комбинированы с другими операторами языка запросов «Yandex». Например, при запросе «магазин ~/+2 улице» будут найдены документы, содержащие слово «магазин», но не содержащие «улице» через одно слово от слова «магазин».

Если вам необходимо указать в своем запросе расстояние между словами не в пределах одного предложения, а в пределах абзаца, можно использовать принцип удвоения знаков. Например, если вам необходимо найти документы, содержащие слова «фильмы» и «спектакли» в одном или соседних предложениях, то можно составить следующий запрос: «фильмы &&/1 спектакли».

Практически всю опубликованную в Интернет информацию составляют веб-страницы (интернет-страницы). Помимо текста, веб-страницы содержат многие другие элементы, например: гиперссылки, таблицы, изображения и т.д. Очень часто возникает необходимость произвести поиск интересующих данных именно среди подобных элементов. Поисковые системы, в частности «Yandex», оснащены набором инструментов для поиска в элементах и объектах.

Если необходимо найти документы с заданным заголовком, то можно воспользоваться командой «$title (выражение)». Под заголовком понимается не заголовок текста, опубликованного на интернет-странице, а заголовок документа, демонстрируемый в панели заголовках браузеров слева от названия программы. Например, при открытии страницы www.rambler.ru с помощью браузера «Netscape Navigator», в панели программы будет отображена запись (рис. 3.1):

«Rambler: информационно-поисковая система – Netscape».

В данном случае заголовком является выражение

:«Rambler: информационно-поисковая система».

С помощью команды «$anchor (выражение)» можно произвести поиск по якорям гиперссылок, при этом следует учитывать, что поиск производится именно по якорям ссылок, а не по самим ссылкам.

Поясним на примере. В html-коде гиперссылка имеет следующий вид:

«<a href = ("гиперссылка")>(якорь гиперссылки)</a>»,

например:

<a href = www.rambler.ru >Рамблер</a>,

поэтому при команде $anchor(Рамблер) будут найдены документы, имеющие гиперссылки, подобные представленной.

Если же в документе имеется ссылка

<a href = www.yandex.ru >Рамблер</a>,

которая позволяет щелчком мыши по слову «Рамблер перейти к главной странице поисковой системы «Yandex», и вы используете команду $anchor(Рамблер), то такие документы также будут найдены, поскольку поиск осуществляется по якорю гиперссылки, в нашем примере по слову «Рамблер».

Рис. 3.1 Заголовок страницы www.rambler.ru

Если вам, наоборот, необходимо произвести поиск по ссылкам, независимо от их якорей, то необходимо использовать команду «#link=значение». Например, набрав в окне запроса

#link = "www.yandex.ru",

вы получите список документов, ссылающихся на главную страницу поисковой системы «Yandex».

В html-коде многих интернет-страниц присутствуют специальные META-определители. С их помощью разработчики документа указывают краткое описание ресурса и набор ключевых слов, характеризующих их содержание. Эти определители

включаются в код электронных документов специально для роботов поисковых систем с целью облегчения процесса индексирования интернет-страниц. В частности, META-определитель вида

<META NAME = "description" CONTENT = "краткое описание содержимого

интернет-страницы">

позволяет указать поисковой системе на содержимое документа в виде краткой аннотации, а определитель

«META NAME = "keywords" CONTENT = "перечень ключевых слов"»

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

«Yandex» имеет две специальные команды, позволяющие выполнить поиск в подобных конструкциях. В частности, команда «#abstract = (выражение)» предназначена для поиска заданного выражения в поле CONTENT определителя типа description, а команда «#keywords = (выражение)» – в поле CONTENT определителя типа keywords. Например:

#abstract = (автомобили марки Ford);

#keywords = (Ford).

При подобном поиске следует учитывать, что содержимое META-определителей полностью зависит от разработчиков интернет-страницы и далеко не всегда соответствует ее реальному содержанию.

Используя команду «#image = "значение"», можно осуществить поиск в именах файлов изображений. Например, набрав #image = "car.jpg", можно найти документы, содержащие файлы изображений с именем car.jpg, а набрав в строке поиска #image = "car*", можно найти файлы изображений с именами car.jpg, cars.gif, carant.png  и т.д.

Аналогично используют команду «#hint = (выражение)», но для поиска документов с так называемым альтернативным текстом к файлам изображений. Альтернативным текстом является всплывающая подсказка, которая появляется при наведении курсора мыши на изображение.

Обе перечисленные команды производят поиск в тегах вида <img src = "путь к файлу изображения" width = "ширина" height = "высота" alt = "альтернативный текст">, но первая команда оперирует параметром src, а вторая – параметром alt.

Если вы хотите осуществить поиск на известном вам сайте, то можете воспользоваться командой «#url = "значение"». Например, по запросу «фантастика #url = "www.ozon.ru"», вы получите ссылки на все страницы, содержащие слово

«фантастика» и расположенные на сервере http://www.ozon.ru.

При необходимости поиска в электронных документах строго определенных типов используют команду «#mime = "значение"». Система «Yandex», помимо поиска на интернет-страницах, позволяет осуществлять поиск в документах формата pdf и rtf. Например, при запросе «ряд Фурье #mime = "pdf"» будет принята попытка найти документы формата pdf, содержащие информацию о ряде Фурье.

Следует отметить, что все перечисленные команды поиска предназначены для работы в поисковой системе «Yandex» и могут отличаться от аналогичных команд других поисковых систем.