On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru








 

Поиск с расстоянием

Как Яndex адресует слова? Если все слова в тексте перенумеровать по порядку их следования, то расстояние между словами a и b - это разница между номерами слов a и b. Таким образом, расстояние между соседними словами равно 1 (а не 0), а расстояние между соседними словами, стоящими "не в том порядке", равно -1. То же самое относится и к абзацам. Если между двумя словами поставлен знак '/', за которым сразу напечатано число, значит, требуется, чтобы расстояние между ними не превышало этого числа слов.

Например, по запросу 'холодная /2 вода' должны быть найдены документы, в которых содержатся и слово 'холодный' и слово 'вода', причем расстояние между ними должно быть не более двух слов и они должны находиться в одном абзаце.

Если порядок слов и расстояние точно известны, можно воспользоваться пунктуацией /+n. Так, например, задается поиск слов, стоящих подряд.

Запрос 'холодная /+1 вода' означает, что слово 'вода' должно следовать непосредственно за словом 'холодный'. (Кстати, к тому же результату приведет запрос "холодная вода")

В общем виде ограничение по расстоянию задается при помощи пунктуации вида '/(n m)', где 'n' минимальное, а 'm' максимально допустимое расстояние. Отсюда следует, что запись '/n' эквивалентна '/(-n +n)', а запись '/+n' эквивалентна '/(+n +n)'.

Запрос 'холодная /(-2 4) вода' означает, что 'вода' должна находиться от 'холодный' в интервале расстояний от 2 слов слева до 4 слов справа.

Знаки можно комбинировать с ограничением расстояния.

Например, результатом поиска по запросу 'холодный ~ /+1 вода' будут документы, содержащие слово 'холодный', причем в этих документах слово 'вода' не следует непосредственно за словом 'холодный'.

Когда знаки ограничения по расстоянию стоят после двойных операторов, то употребленные там числа - это расстояние не в словах, а в абзацах. Расстояние в абзацах определяется аналогично расстоянию в словах.

Запрос 'холодная && /1 вода' означает, что слово 'вода' должно находиться в том же самом, либо в соседнем со словом 'холодный' абзаце.

Назад       Содержание       Вперёд