Как Я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 вода' означает, что слово
'вода' должно находиться в том же самом, либо в соседнем со словом 'холодный'
абзаце.
|