|
| ||||||||||||||||||||||
← Ctrl предыдущаяследующая Ctrl → Основные операторы
Большинство поисковых запросов задается пользователями на «естественном языке», то есть без использования операторов языка. Поэтому для уменьшения числа «ложных срабатываний» для всех бинарных операторов &, &&, ~, ~~, |, <<, <–, описанных ниже, требуется наличие пробелов с каждой стороны. Если пробел отсутствует, операторы будут проигнорированы. Объединение ORПредставляет собой цепочку листов или скобок, разделенных операторами |. В результате выполнения операции множества позиций объединяются. Семантика операции объединения — задание терминов-синонимов (или выражений-синонимов). Многоместный ANDПредставляет собой цепочку листов или скобок, разделенных операторами & и && с возможным указанием расстояния. Одинарный оператор & соответствует пересечению внутри предложения, а двойной && — пересечению внутри документа. Если оператор не указан, то есть листы или скобки разделены пробелом, применяется двойной оператор, то есть дополнительная фильтрация отсутствует. Задание расстоянияЕсли слова в тексте перенумеровать по порядку их следования, то расстояние между словами a и b — это разница между номерами слов a и b. Таким образом, расстояние между соседними словами равно 1, а не 0. При задании расстояния существенен порядок следования слов. Высказывание на расстоянии в –2 слова означает на расстоянии в 2 слова cлева, а высказывание на расстоянии в +2 слова означает на расстоянии в 2 слова справа. Аналогично определяется расстояние между предложениями (если заменить термин слово на термин предложение). Синтаксис задания расстояния: /(m n), при этом число m должно быть не больше, чем число n. Применяются различные сокращенные формы:
Если задана область действия оператора, но не задан сам оператор, то применяется оператор &, то есть a /2 b эквивалентно запросу a &/2 b. Примерa & b — a и b должны находиться в одном предложении. a /+1 b — b должно следовать за a. a /2 b — расстояние в словах независимо от порядка следования (то же, что и a &/2 b). a /(–2 4) b — b должно находиться от a в интервале расстояний от 2 слов слева до 4 слов справа. a /0 b — расстояние в словах, позиции должны совпадать (то же, что и a &/0 b). a && b — a и b должны находиться в одном документе. a &&/1 b — b должно находиться в том же предложении, что и a, либо в соседнем. a &&/2 b — расстояние в предложениях. a &&/0 b — расстояние в предложениях (то же, что и a & b). Префиксы и кавычкиПеред листом могут быть указаны некоторые префиксные операторы. Префикс может быть и у скобки, в этом случае он распространяется на все ее листы.
ПримерПо запросу !лужков будут найдены словоформа лужков, но не лужкову, лужки. В общем случае слова с большой и маленькой буквы считаются разными формами одного слова, поэтому все равно, какой регистр использовать в запросе. Исключением является оператор точной формы. По запросу !лужков будут найдены все документы, содержащие эту словоформу в любом регистре, а по запросу !Лужков - только документы, в которых имеется форма Лужков с большой буквы.
Указанный ключ считается леммой. Будут найдены все формы этой леммы, но не формы других лемм, отличных по написанию от указанной, но таких, которым соответствует данный ключ, рассматриваемый как форма. Если указанный ключ является словарной леммой, поиск ограничивается этим ключом, иначе запрос дополняется операторами точной формы. ПримерПо запросу !!лужков найдутся формы леммы лужков, но не леммы лужок, т. е. найдутся формы лужкову, лужкова, но не лужки. Выражение в кавычках применяется для поиска точной фразы и почти эквивалентно многоместному AND на уровне предложения с расстояниями в +1 между соответствующими точными формами. Небольшое отличие в том, что для выражения в кавычках регистр точной формы игнорируется. ПримерЗапрос "рисовать квадрат и круг" эквивалентен запросу !рисовать /+1 !квадрат /+1 !и /+1 !круг. Оператор расстояния /+n в кавычках не распознается. Вместо него поддерживается конструкция "a * * b", которая эквивалентна запросу !a /+3 !b. Символы звездочки должны быть отделены пробелами. Пример"a * b|", "раз * три * * шесть", "a * * * e f * h" Простые фильтры
Примерa ~/(–4 +8) b — b не должно находиться рядом с a, причем «рядом» здесь означает «в интервале расстояний от 4 слов слева до 8 слов справа».
ПримерПри запросе date:20060514 inpos:60..120 будут найдены документы, созданные 14 мая 2006 года с часу до двух ночи. Ранжирующие фильтры
|
| Работайте в Яндексе |
© 2008—2012 «Яндекс»
|