Документация по поисковой системе Яndex-Site

Яndex-Site - средство полнотекстового поиска информации на WEB-сервере с учетом морфологии русского языка.

Язык запросов


Как трактуются слова

Независимо от того, в какой форме Вы употребили слово в запросе, поиск учитывает все его формы по правилам русского языка.

ПРИМЕРНапример, если задан запрос "идти", то в результате поиска будут найдены ссылки на документы, содержащие слова "идти", "идет", "шел", "шла" и т.д. На запрос "окно" будет выдана информация, содержащая и слово "окон", а на запрос "отзывали" - документы, содержащие слово "отозвали".

Если Вы набрали в запросе слово с большой буквы, будут найдены только слова с большой буквы, в противном случае будут найдены как слова с большой, так и с маленькой буквы.

ПРИМЕРНапример, запрос "лебедь" найдет и птицу, и генерала. Запрос "Лебедь" - генерала и те случаи упоминания птицы, когда она написана с большой буквы.


Основные операторы

Несколько набранных в запросе слов, разделенных пробелами, означают, что каждое из них должно входить в один абзац искомого документа. Тот же самый эффект произведет употребление символа '&'.

ПРИМЕРНапример, при запросе "холодная вода" (или "холодная & вода"), результатом поиска будет список документов, в которых в одном абзаце содержатся и слово "холодный", и слово "вода".

Между словами можно поставить знак '|' (или запятую ','), чтобы найти документы, содержащие любое из этих слов.

ПРИМЕРЗапрос вида "вода | огонь" или "вода,огонь" задает поиск документов, содержащих в одном абзаце хотя бы одно из слов "вода" или "огонь".

Еще один знак, тильда '~', позволит найти документы с абзацем, содержащим первое слово, но не содержащим второе.

ПРИМЕРПо запросу "холодный ~ горячий" будут найдены все документы, содержащие слово "холодный", рядом с которым (в пределах абзаца) нет слова "горячий".


Чтобы перейти от операций уровня абзаца до операций уровня документа, удвойте соответствующий знак. Одинарный оператор (&, ~) ищет в пределах абзаца, двойной (&&, ~~) - в пределах документа.

ПРИМЕРНапример, по запросу "холодная && вода" будут найдены документы содержащие где бы то ни было оба эти слова. А запрос "квас ~~ теплый"выдаст все документы со словом "квас", но без слова "теплый"


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

Как Яndex-Site адресует слова? Если все слова в тексте перенумеровать по порядку их следования, то расстояние между словами 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 вода" означает, что слово "вода" должно находиться в том же самом, либо в соседнем со словом "холодный" абзаце.


Скобки

Вместо одного слова в запросе можно подставить целое выражение. Для этого его надо взять в скобки.

ПРИМЕРНапример, запрос "(холодный,горячий) /+1 (вода|огонь)" задает поиск документов, которые содержат любую из фраз "холодная вода", "холодный огонь", "горячая вода", "горячий огонь".


Поиск в определенных элементах

Можно искать информацию в двух "зонах" - заголовках (имя "зоны": Title) и ссылках (имя "зоны": A).
Синтаксис: $имя_зоны логический_множитель

ПРИМЕР Запрос " $Title КомпТек " осуществляет поиск в заголовках документов это слово. Запрос " $Title (КомпТек | Dialogic) " находит документы, в заголовках которых есть одно из слов КомпТек или Dialogic. "$A (это /+1 ссылка /+1 на /+1 мой /+1 сайт) " - в ссылках ищется выражение, взятое в скобки.


Разметка документа

Для каждого документа в списке найденного указан его заголовок, ссылающийся на размеченный документ, начало текста документа, дата и URL документа, ссылающийся на оригинальный документ.

Яndex-Site при индексации запоминает положение слова в документе, что дает возможность выделить (подсветить) слова, найденные в тексте. При этом подсвечиваются только те слова из запроса, которые удовлетворяют поисковому выражению.

Слова выделены угловыми стрелочками. Каждая стрелочка ссылается на следующее или предыдущее "найденное" слово.

В начале размеченного документа помещается табличка с ссылками на первое и последнее найденное слово и на оригинальный документ. В конце документа - аналогичная табличка, где приводится статистика, то есть - сколько слов найдено (подсвечено) в данном документе.

Если запрошенное слово было найдено в заголовке, то оно выделяется там угловыми скобками, а внизу выдается сообщение "Найденные в заголовке слова выделены угловыми скобками".

Если файлы были изменены, а индекс по ним не обновлен, об этом выдается соответствующее предупреждение.