Язык запросов поисковой системы Яндекс |
Здравствуйте, гость ( Вход | Регистрация )
Язык запросов поисковой системы Яндекс |
psi |
19.1.2006, 5:57
Сообщение
#1
|
Начинающий Группа: Пользователи Сообщений: 13 Регистрация: 18.1.2006 Пользователь №: 4 Репутация: 1 |
Любая поисковая система в первую очередь ориентирована на неискушенного пользователя, которому нужно без особых усилий найти необходимые сведения. Простейший интерфейс поисковой системы - это обычное текстовое поле, в котором посетителю достаточно ввести свой вопрос (например, "Где купить горящие путевки на Кипр?"), чтобы получить несколько тысяч ссылок на страницы нужной ему тематики.
Более продвинутые пользователи, приблизительно представляющие принцип работы поисковой системы, обычно опускают вспомогательные части речи и знаки препинания. Например, по запросу "горящие путевки Кипр Челябинск" в первой десятке результатов поиска уже найдется пара ссылок на путевки на Кипр с вылетом из Челябинска. Однако не все так легко, как может показаться на первый взгляд, и далеко не всегда по такому простому запросу удается найти необходимую информацию: довольно часто вы будете погребены под ворохом результатов, так что найти в этом стоге сена нужную иголку покажется вам неразрешимой задачей. Чтобы облегчить решение этой проблемы, в поисковые системы встраиваются различные дополнительные возможности, позволяющие вам уточнять свой вопрос для получения именно тех результатов, на которые вы рассчитываете. Общее название этих дополнительных возможностей - язык запросов. Каждая поисковая система имеет свой язык запросов, однако есть некий джентльменский набор функций, который предоставляет практически любой поисковик. В качестве примера в данной статье рассматривается язык запросов "Яндекса", как одной из самых популярных поисковых систем Рунета, обладающей, помимо этого, еще и довольно эффективным и многофункциональным языком запросов. Прежде чем перейти непосредственно к языку запросов "Яндекса", отметим две важные особенности того, как данная поисковая система обрабатывает запросы, состоящие из простого набора слов. Во-первых, незначащие части речи и часто употребляемые слова (обычно это предлоги, частицы, местоимения и прочее, например: для, или, я, они и т.п.) автоматически исключаются из запроса - такие слова называются стоп-словами. Во-вторых, для каждого слова (включая и английские, хотя далеко не все) формируется список всех его словоформ, и поиск будет производиться по всем словоформам, полученным из запроса. Если при этом в запросе участвуют слова, имеющие омонимами другие части речи, можно получить интересный казус. Например, поиск по слову "почту" - это слово можно интерпретировать и как существительное "почта" в винительном падеже ("пойду на почту"), и как глагол "почитать" в первом лице будущего времени ("почту соседа незаслуженным вниманием"). Язык запросов "Яндекса" состоит из операторов, которые отделяются от слов пробелами и могут располагаться перед, после и между словами, а также знаков, которые помещаются непосредственно перед словами без разделяющих пробелов. Если слова запроса разделены оператором & (логическое И) - это означает, что в результаты поиска попадут те документы, в которых все указанные слова присутствуют в одном предложении. Например, запрос "книжный & магазин" возвратит те документы, где говорится о книжных магазинах, и не станет возвращать те, в которых в одном месте говорится о книжной ярмарке, а в другом - о магазине спорттоваров. Оператор & используется по умолчанию, так что запрос "книжный магазин" полностью эквивалентен запросу "книжный & магазин". Для того чтобы в результатах поиска оказалось одно слово из нескольких, применяется оператор | (логическое ИЛИ). Например, запрос "выставки | экспозиции" вернет документы, в которых встречается либо первое, либо второе слово (очень удобно при поиске слов, имеющих синонимы). Оператором ~ (тильда, логическое НЕ) задается обязательное отсутствие слова в предложении. Например, запрос "банк ~ рефератов" возвратит ссылки на документы о банках, исключив из них заполонившие Рунет банки рефератов. Операторы &&, || и ~~ функционируют полностью аналогично операторам &, | и ~ за исключением того, что "двойные" операторы работают на уровне документа в целом. Например, запрос "Копенгаген ~~ турагентство" возвратит ссылки на страницы, посвященные Копенгагену, одновременно освободив нас от многочисленных веб-сайтов туристических фирм, которые, как правило, всегда оказываются на первых местах в результатах поиска. Знак + ставится перед теми словами, которые обязательно должны присутствовать в результатах поиска (актуально при запросе из большого количества слов). Например, запрос "властелин колец +книга онлайн" возвращает втрое меньше ссылок, чем запрос "властелин колец книга онлайн". Этот же оператор позволяет включать в запрос и стоп-слова. Например, запрос "глаз за глаз" возвращает огромное количество документов, где слово "глаз" дважды встречается в одном предложении, тогда как запрос "глаз +за глаз" вернет только те документы, где участвуют все три заданных слова. Исключить из результатов документы, содержащие заданное слово, позволяет знак -, который работает аналогично оператору ~~. Знаки + и - работают только на уровне документа. Знак ! позволяет отменить формирование списка словоформ для заданного слова. Например, чтобы избежать описанного выше казуса с запросом "почту", можно заменить его на что-нибудь наподобие "!почта | !почты | !почтой". Скобки применяются для группировки подзапросов при составлении из них одного сложного запроса. Например, запрос "(картины | репродукции) & (Шишкин | Репин)" возвратит ссылки на картины или репродукции любого из двух упомянутых художников. Введем понятие "расстояние между словами". Если пронумеровать все слова в документе, то разница между номерами двух выбранных слов и будет расстоянием между ними. Таким образом, расстояние между соседними словами равно 1. Расстояние может быть как положительным, так и отрицательным в зависимости от относительного расположения выбранных слов в документе. Оператор /N позволяет задать максимально допустимое расстояние между словами. Допустим, нам необходимо найти упоминание о налоговых инспекторах, которые могут упоминаться и как инспекторы по налогам. Запрос "(налоги | налоговый) /2 инспектор" возвратит и "налоговый инспектор", и "инспектор по налогам", и "инспектор отдела налогов" - то есть все документы, где расстояние между словами "налоги" и "инспектор" составляет не более 2 слов. Операторы /+N и /-N позволяют указать точное расстояние между словами. Например, запрос "инспектор /+2 налог" вернет только те ссылки, где словоформа от "налог" расположена точно через слово после словоформы от "инспектор". Такой запрос аналогичен запросу "налог /-2 инспектор". В качестве упрощенного написания оператора /+1 можно использовать кавычки, например запрос ""ремонт видеотехники"" аналогичен запросу "ремонт /+1 видеотехники". Полная форма оператора поиска с расстоянием: /(-N +N) - в этом случае указываются расстояния для обоих вариантов взаиморасположения запрашиваемых слов. По умолчанию все операторы поиска с расстоянием работают на уровне слов, т.к. в запросе вида "налоговый /+1 инспектор" подразумевается наличие оператора &, то есть "налоговый & /+1 инспектор". Если заменить оператор & на &&, то расстояние будет измеряться в предложениях. Допустим, мы ищем упоминание о банках в связи с ипотекой. Запрос "банк ипотека" слишком ограничен, запрос "банк && ипотека" слишком свободен, а запрос "банк && /2 ипотека" будет в самый раз. Поиск в зонах позволяет ограничить область поиска заголовком документа ($title), адресом ($address) или текстами ссылок ($anchor). Например, по запросу "$anchor hostinfo" можно найти документы, ссылающиеся на данный веб-сайт. Поиск в элементах позволяет искать изображения, ссылки, а также ограничивать область поиска заданными веб-сайтами. Поскольку поиск в элементах полностью реализован в форме расширенного поиска, то в данной статье он не рассматривается. При формировании списка результатов поисковая система сортирует их исходя из множества различных показателей, характеризующих степень соответствия документа запросу, совокупность которых называется релевантностью. Чем выше релевантность документа, тем ближе к началу будет его позиция в списке результатов. Факторы, влияющие на релевантность, обычно сохраняются в строгом секрете, чтобы нечистые на руку веб-мастера не оптимизировали свои веб-сайты специально для повышения их релевантности. Обычный запрос вида "слово1 слово2 слово3" возвращает только те документы, в которых все три слова встречаются в одном предложении. Иногда бывает необходимо получить все документы, где встречается хотя бы одно из слов, причем более релевантными должны быть те из них, в которых встречаются все три слова, затем по два, и наконец по одному. Можно решить эту проблему запросом "слово1 | слово2 | слово3", так как очевидно, что наиболее высокую релевантность будут иметь документы, в которых есть все три слова. Однако если по какой-либо причине результат такого запроса вас не устраивает, можно воспользоваться оператором мягкого поиска //N. N измеряется в процентах от 0 до 100. Запрос "(слово1 слово2 слово3) //0" возвращает только документы, содержащие все три слова (как и при отсутствии данного оператора). В результаты запроса "(слово1 слово2 слово3) //100" будут включены все документы, в которых встречается хотя бы одно из запрошенных слов. Варьируя значение N, можно изменять количество найденных документов. Язык запросов "Яндекса" также предоставляет некоторые возможности по изменению релевантности найденных документов. Не следует забывать, что при этом в результатах поиска содержатся те же самые документы, а изменяется только их порядок. Оператор веса :N позволяет повысить релевантность документов, содержащих заданное выражение. Например, запрос "физика:1 | химия:1000 | литература:1" возвращает ссылки на документы, где встречается любой из этих предметов, но документы с упоминанием химии будут расположены ближе к началу. Чтобы получить заметный эффект, необходимо указывать достаточно высокие значения N (порядка тысяч и десятков тысяч). При помощи оператора уточнения <- можно повысить релевантность тех документов, в которых встречается уточняющее выражение. Например, по запросу "(физика | химия) <- библиотека" система возвратит все документы с упоминанием физики или химии, а первыми в списке результатов будут расположены документы с упоминанием библиотек. Таким образом, задача поиска нужной вам информации далеко не так сложна, как может показаться с первого взгляда - при условии, что в вашем распоряжении есть удобный и функциональный язык запросов. Автор: Вячеслав Замятин Источник: hostinfo.ru -------------------- RusForumz - Форум для web-мастеров, дизайнеров и сисадминов. |
Текстовая версия | Сейчас: 23.11.2024, 2:02 |