Надо все-же чаще перечитывать доки 🙂 Или хотя бы внимательнее читать…
В хелпе “Применение языка запросов” написано, каким числом слов ограничена длина функции близости – 40 слов:
Ограничение расстояния
Если запрос составлен из одного или нескольких слов без применения операторов и конструкций языка запросов, то будут найдены документы, в которых встречаются все слова запроса. При этом для каждого запроса всегда существует так называемое ограничение контекста – положительное число, по умолчанию равное расстоянию в 40 слов. Документ, в котором встретились все слова запроса, будет выдан только в том случае, если расстояние в словах между вхождениями слов запроса будет меньше этого числа. Например, по запросу ‘красная армия’ будут найдены те документы, в которых слова ‘красная’ и ‘армия’ хотя бы один раз встретятся менее чем в 40 словах друг от друга.
Значение ограничения контекста можно изменять конструкцией ‘(число, запрос)’, где число – любое положительное число, запрос – любой корректный с точки зрения поисковой машины запрос, состоящий более чем из одного слова (очевидно, ограничение расстояния между словами в случае однословного запроса не имеет смысла). Таким образом, по запросу ‘(2, красная армия)’ найдутся только те документы, в которых между словами ‘красная’ и ‘армия’ хотя бы раз не стоит ни одного слова (поскольку лишь в случае их непосредственного соседства разница в порядковых номерах слов меньше 2, т.е. равна 1)
-т.е., если слова стоят на расстоянии более чем в 40 слов, “вес” этого словосочетания = 0.
Хотя бы какая-то точка отсчета есть. Плюс-минус 40 слов. 80 чисел для функции вычисления веса словосочетания в тексте.
Так длина эта и от запроса к запросу может меняться…?
Почему одна? Яндекс по умолчанию ищет словосочетания в пределах предложения, вот тебе два.
Euhenio:
Rambler:
=> плюс-минус 20
Cherny, я про функцию близости. А если предложение (читаем "текст без точек") длиннее 40 слов? Кроме того, посмотри тему про колдунщика Яндекса. Иногда оно само впихивает в запрос поиск в пределах нескольких предложений.
Artemiy, я про функцию близости. 🙂 Если расстояние 40 (красная * армия) и -40 (армия * красная) – они должны быть найдены, но веса для словосочетания с расстоянием N и -N должны быть разными.