Руководство по системе Яndex.Site
: Язык запросов Яndex
: Поиск с расстоянием
Previous: Основные операторы
Next: Круглые скобки
4.4. Поиск с расстоянием
Как Я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 вода' означает, что слово 'вода' должно находиться в том же самом, либо в соседнем со словом 'холодный' абзаце.
Руководство по системе Яndex.Site
: Язык запросов Яndex
: Поиск с расстоянием
Previous: Основные операторы
Next: Круглые скобки
|