| Denis ( @ 2005-05-27 11:45:00 |
Поиск через Яндекс для специалистов. Хозяйке на заметку
Материал рассчитан на подготовленного читателя, знающего, что такое стоп-слова, сниппеты и чем '~~' отличается от '&&'. Мне казалось, что это очень небольшая аудитория, однако этот пост неожиданно стал популярным и даже висит в топ-50 ЖЖ-постов, чаще всего заносимых в избранное (по версии lj+).
В первую очередь читайте весьма толковую официальную документацию. Этот текст ее ни в коем случае не заменяет, а исправляет и дополняет.
Ну, поехали.
Беру первый попавшийся запрос из «прямого эфира» 'диски для toyota land cruiser' и смотрю топ-20 результатов. Одиннадцать из них заведомый мусор, поскольку в них нет (смотрю в кэше, разумеется) слова «диски». То есть Яндекс самовольно решил исключить слово из запроса. Эти неправильные результаты идут вперемешку с нормальными и внешне никак от них не отличаются.
Раньше такие результаты выдавались с пометкой «нестрогое соответствие» (пометка исчезла весной 2007 года) и только после нормальных результатов (от этого отказались осенью 2007 года). Так что не удивляйтесь, если в найденном документе «почему-то» не будет каких-то слов из запроса, иногда ключевых.
Избавиться от «нестрогих соответствий» можно двумя способами:
А. Поставить перед каждым словом '+'. Но при этом может измениться сортировка результатов.
Б. Минимизировать нестрогие соответствия запросом вида '(запрос из нескольких слов)//1'. Сравните, скажем, 'диски для toyota land cruiser' и '(диски для toyota land cruiser)//1'. К сожалению, не всегда срабатывает.
Про (запрос из нескольких слов)//N стоит сказать понятней, чем в официальной документации. Оператор используется только для «нестрогих соответствий». По умолчанию N=6. Чем больше N тем больше будет найдено результатов с «нестрогим соответствием» (понятно, за счет того, что на страницах будет присутствовать все меньше слов из запроса). Соответственно, чем меньше N, тем меньше результатов. При N=1 нестрогие соответствия вроде как минимизируются увы, не всегда исключаются.
Почему-то многие, даже продвинутые пользователи, недооценивают эту возможность. А зря.
В общем виде расстояние между словами задается оператором вида '/(n m)' (n минимальное, m максимальное расстояние между словами). На практике в общем виде почти не используется. Вместо него используются запросы вида 'кубок /5 (яндекса | поиску)' (= слово «яндекса» или «поиску» находится на расстоянии пяти слов от слова «кубок» находит «кубок яндекса», «Кубок главы города Перми по поиску в Интернете», «Яндекс успел вывесить анонс Восьмого кубка» и т. п.
Кроме того, весьма распространены запросы с жестко заданным расстоянием. Область их применения разнообразна:
Во-первых, с его помощью можно проверять работу морфологического модуля Яндекса. Например, 'бруля /+0 брули' ага, Яндекс знает, что это формы одного слова. Убеждаемся, что форма !бруля есть в Сети, ставим в начальную форму, проверяем: !!бруль /+0 !бруля действительно, «бруля» это, с точки зрения Яндекса, форма слова «бруль». Аналогично, «тест» форма слова «тесто», но никак не наоборот.
Во-вторых, '/+0' полезен для исключения какой-то формы слова. Скажем, чтобы найти все формы слова «женить», исключая все формы слова «Женя», можно использовать запрос 'женить ~ !!женя' но такой вариант исключит также результаты, где слова «женить» и «женя» встречаются в одном предложении. Правильный запрос 'женить ~ /+0 !!женя'.
Отношение Яндекса к словам в кавычках неоднократно менялось: когда-то требовалось совпадение формы, потом учитывался только порядок слов, затем форма учитывалась, если в запросе было только словосочетание в кавычках и больше ничего. Думаю, это еще далеко не конец.
В общем случае, если вам важен порядок слов и не важна их форма, используйте оператор расстояния '/+1' его действие на протяжении лет не менялось. Так, 0 результатов, а ищет все формы этих слов и находит множество страниц со словосочетанием «умный хороший мальчик».
На самом деле оператор работает несколько по-другому. Подробно объяснять не буду, но важно знать, что часть запроса справа от '<<' не влияет на релевантность. Так что используйте этот оператор, только когда наличие слова в сниппетах перевешивает потерю релевантности.
Примечание. До того как этот оператор стал известен, приходилось использовать оригинальный метод Александра Садовского: 'сайт ~~ (сайт ~~ лебедев)'. Здесь обязательно сделайте паузу и оцените красоту решения.
Означает это следующее. Когда вы делаете запрос 'кубок яндекса финал', Яндекс трансформирует его примерно в 'кубок & яндекса &&/7 финал': он ищет в одном предложении слова «кубок» и «яндекс», и на расстоянии не более семи предложений от них должно находиться слово «финал».
Обычно на этот механизм определения «связанности» слов можно положиться и просто разделять слова в запросе пробелами. Однако периодически он подводит, и приходится явно указывать Яндексу, хотите вы увидеть слова в пределах предложения (оператор '&') или им достаточно встретиться на одной странице (оператор '&&').
Раньше можно было узнать, как Яндекс трактовал пробелы в каждом запросе. Увы, осенью 2007 г. эту возможность убрали.
Долгие годы пробелы рядом со скобками и кавычками автоматически трактовались как '&'. Сейчас эта ошибка исправлена, и ответить на вопрос второго тура VIII Кубка Яндекса найти открытку "Спокойной ночи" (Везенбергъ и Ко) не очень сложно.
Примечание. В документации сообщается, что «не очень далеко» на странице расширенного поиска это поиск на расстоянии в несколько предложений. На самом деле такой вариант отдаст пробелы на откуп обработчику связанности слов, то есть, строго говоря, слова могут быть найдены и очень далеко друг от друга.
Если ищете даты или дробные числа, учтите, что для Яндекса '17 01 2003' (ищет также «17-01-2003», «17/01/2003» ) и '17.01.2003' разные запросы.
Яндекс учитывает «взаимозаменяемость» некоторых английских и русских букв, поэтому:
1. Оба запроса дадут почти на 100% одинаковые результаты: 'хоровод' и 'xopoвog'. В запросе из одного слова приоритет отдается точной форме (т.е. если в запросе латиница, то и первые результаты будут с ней); результаты запросов из двух и более слов идентичны, вне зависимости от написания.
2. Оба запроса найдут страницы как с русским «хороводом», так и составленным частично из английских букв (отсюда вывод: иногда Яндекс может найти слово на странице, а Ctrl-F нет).
Яндекс «транслитерует» слова, в которых есть хотя бы одна русская буква (noдapok полужирным выделены латинские буквы). Яндекс НЕ транслитерует слова: 1) в которых все буквы английские: 'nogapok' (включая и слова, состоящие из одной буквы: 'мне хорошо c тобой'); 2) в которых есть хотя бы одна цифра: 'подарок1' и 'nодарок1'. «0» (цифра) и «О» (буква) почему-то не взаимозаменяемы. Яндекс транслитерует только в русскую сторону, поэтому 'samsunд' ничего не найдет.
Украинская «і» (радіємо) и английская «i» (радiємо) транслитеруются.
Если вам не нужна транслитерация, используйте '!': '!поgарок'.
Единственное исключение поиск адреса (только для неизвестного окончания) и его вариации.
1. Поиск доменов domain="ya*"
2. Поиск авторов в Яндекс.Блогах author="kub*"
3. Поиск ссылок там же link="www.livejournal.com/community/kubo k/458*"
4. И т.п.
Со служебными операторами можно обращаться точно так же, как и со словами: к ним применимы операторы расстояния, "ИЛИ", "НЕ" и другие; с ними можно строить сколь угодно сложные запросы. Скажем, запрос '$title ("англо русский") (domain="forum*" | $title (форум|forum))' прекрасно находит англо-русские форумы.
Отделяйте операторы поиска в элементах от слов запроса символами '<<'. Сравните 'unix rhost="ru.narod.*"' и 'unix << rhost="ru.narod.*"'.
Иллюстрирующая табличка, с гуглевым 'site:' для сравнения.
Как видите: 095&surl=yandex.ru&rd=0.
Для таких документов Яндекс не выдает ссылку на сохраненную копию:
Самый простой способ все-таки получить ссылку на кэш сделать еще один запрос, в котором искать на странице, найденной по ссылке, слово, которое там точно есть (скажем, ее заголовок). Пример.
Чтобы полноценно искать на сайтах определенной рубрики, сделайте запрос вида: 'запрос << cat=(CATID)', где CATID = 9000000 + номер рубрики. Вот список рубрик и их номера (структуру же рубрик можно посмотреть в самом каталоге). Например, 'юрист << cat=(9000025)' поиск слова "юрист" на сайтах, входящих в рубрику "Высшее образование" (№ 25) Яндекс.Каталога. В выдаче показывается категория каждого сайта. Легко заметить, что там указывается не "Высшее образование", а "Гуманитарные вузы", "Студенческая жизнь" или даже "Работа" очевидно, поиск идет также по всем вложенным и второстепенным категориям. Одному сайту может быть присвоено несколько категорий, и, насколько я знаю, запросы вида 'cat=(9000068)' единственный способ получить полный список сайтов категории.
Зачем нужен (мне, по крайней мере):
1. Делать одновременно запросы в другие поисковые системы и объединять их выдачи.
2. Применять свой синтаксис, чтобы все основные операторы можно было набирать в русской раскладке.
3. Создать в Яндексе аналог оператора диапазона из Google заменять '1930..1940' на '(1930|1931|1932|1933|1934|1935|1936|193 7|1938|1939|1940)'. Для небольших диапазонов сойдет.
4. Сделать собственный дизайн выдачи. В нынешней яндексовской, на мой взгляд, много недостатков.
5. Выдавать ссылки на кэш для документов, найденных по ссылке.
6. Выводить несколько страниц с каждого найденного сайта.
И еще много чего по мелочи.
Если вдруг решите использовать Яндекс.XML вместо основного Яндекса, учтите, что, во-первых, их выдачи слегка различаются, во-вторых, в Яндекс.XML не работает параметр maxpassages, и больше двух сниппетов вам не покажут.
Яндекс отличный поисковик.
Большое спасибо всем, кто так или иначе помог в работе над документацией: Илья Сегалович, Александр Садовский, Роман Иванов (все компания «Яндекс»), Максим Сидоров, Евгений Ющук, Евгений Трофименко.
Еще раз, документация ни в коем случае не заменяет имеющуюся, а призвана ее исправить и дополнить.
Приведенная документация не является истиной в последней инстанции. «Истину вам предстоит найти самому» ©
Последнее обновление 4 декабря 2007 г. С тех пор многое могло измениться.
Материал рассчитан на подготовленного читателя, знающего, что такое стоп-слова, сниппеты и чем '~~' отличается от '&&'. Мне казалось, что это очень небольшая аудитория, однако этот пост неожиданно стал популярным и даже висит в топ-50 ЖЖ-постов, чаще всего заносимых в избранное (по версии lj+).
В первую очередь читайте весьма толковую официальную документацию. Этот текст ее ни в коем случае не заменяет, а исправляет и дополняет.
Зачем такие навороты?
В 90% случаев я делаю самые обычные запросы из нескольких ключевых слов. Однако бывает, что применение даже одного «навороченного» оператора существенно улучшает выдачу, иногда нужно получить «дистиллированные» результаты (скажем, для отслеживания публикаций о компании). Кроме того, эта статья поможет вам научиться контролировать выдачу, понимать, что именно находит Яндекс по вашему запросу (или почему не находит), и приведет к более глубокому пониманию методов поиска.Ну, поехали.
Нестрогие соответствия
Это самый серьезный баг в нынешнем Яндексе (и, пожалуй, за всю его историю). К сожалению, он тянется еще с весны 2007 г.Беру первый попавшийся запрос из «прямого эфира» 'диски для toyota land cruiser' и смотрю топ-20 результатов. Одиннадцать из них заведомый мусор, поскольку в них нет (смотрю в кэше, разумеется) слова «диски». То есть Яндекс самовольно решил исключить слово из запроса. Эти неправильные результаты идут вперемешку с нормальными и внешне никак от них не отличаются.
Раньше такие результаты выдавались с пометкой «нестрогое соответствие» (пометка исчезла весной 2007 года) и только после нормальных результатов (от этого отказались осенью 2007 года). Так что не удивляйтесь, если в найденном документе «почему-то» не будет каких-то слов из запроса, иногда ключевых.
Избавиться от «нестрогих соответствий» можно двумя способами:
А. Поставить перед каждым словом '+'. Но при этом может измениться сортировка результатов.
Б. Минимизировать нестрогие соответствия запросом вида '(запрос из нескольких слов)//1'. Сравните, скажем, 'диски для toyota land cruiser' и '(диски для toyota land cruiser)//1'. К сожалению, не всегда срабатывает.
Про (запрос из нескольких слов)//N стоит сказать понятней, чем в официальной документации. Оператор используется только для «нестрогих соответствий». По умолчанию N=6. Чем больше N тем больше будет найдено результатов с «нестрогим соответствием» (понятно, за счет того, что на страницах будет присутствовать все меньше слов из запроса). Соответственно, чем меньше N, тем меньше результатов. При N=1 нестрогие соответствия вроде как минимизируются увы, не всегда исключаются.
Учет стоп-слов
Яндекс учитывает стоп-слова (предлоги, местоимения, частицы и пр.) только в запросах из трех и менее слов. Если стоп-слово должно быть в результате, поставьте перед ним '+'. Запрос '+не работает windows xp' позволит найти больше соратников по несчастью, чем 'не работает windows xp'.Расстояние между словами
В общем виде расстояние между словами задается оператором вида '/(n m)' (n минимальное, m максимальное расстояние между словами). На практике в общем виде почти не используется. Вместо него используются запросы вида 'кубок /5 (яндекса | поиску)' (= слово «яндекса» или «поиску» находится на расстоянии пяти слов от слова «кубок» находит «кубок яндекса», «Кубок главы города Перми по поиску в Интернете», «Яндекс успел вывесить анонс Восьмого кубка» и т. п.
Кроме того, весьма распространены запросы с жестко заданным расстоянием. Область их применения разнообразна:
- Самый полный словарь синонимов. Запросы вида '!надеемся +на /+2 !сотрудничество' (= «надеемся на какое-то_слово сотрудничество») выдадут все варианты слов, которые сюда подставляют. Чтобы поймать редко используемые синонимы, исключайте частые варианты оператором '~'.
- Отчество и второе имя. 'максим /+2 галкин', 'памела /+2 андерсон' релевантность зашкаливает.
- Дата рождения. Как там обычно пишут? «». Считаем слова от «родился» до «года», получаем схему, которую можно применить к кому угодно: '!платон родился /+4 !года'.
- И т.п.
То же самое слово
Частный случай оператора расстояний '/+0' (буквально то же самое слово) тоже очень полезен.Во-первых, с его помощью можно проверять работу морфологического модуля Яндекса. Например, 'бруля /+0 брули' ага, Яндекс знает, что это формы одного слова. Убеждаемся, что форма !бруля есть в Сети, ставим в начальную форму, проверяем: !!бруль /+0 !бруля действительно, «бруля» это, с точки зрения Яндекса, форма слова «бруль». Аналогично, «тест» форма слова «тесто», но никак не наоборот.
Во-вторых, '/+0' полезен для исключения какой-то формы слова. Скажем, чтобы найти все формы слова «женить», исключая все формы слова «Женя», можно использовать запрос 'женить ~ !!женя' но такой вариант исключит также результаты, где слова «женить» и «женя» встречаются в одном предложении. Правильный запрос 'женить ~ /+0 !!женя'.
Словосочетания
Официальная документация сообщает, что «порядок слов можно указать с помощью запроса в кавычках». Это не так: кавычки также задают и форму слов. То есть запросом "красными шапочками" вы "красную шапочку" не найдете.Отношение Яндекса к словам в кавычках неоднократно менялось: когда-то требовалось совпадение формы, потом учитывался только порядок слов, затем форма учитывалась, если в запросе было только словосочетание в кавычках и больше ничего. Думаю, это еще далеко не конец.
В общем случае, если вам важен порядок слов и не важна их форма, используйте оператор расстояния '/+1' его действие на протяжении лет не менялось. Так, 0 результатов, а ищет все формы этих слов и находит множество страниц со словосочетанием «умный хороший мальчик».
Наличие заданного слова в сниппетах
'слово_в_сниппетах << (остальная_часть_запроса)'. Скобки обязательны. Например, 'сайт << (лебедев)' в сниппетах обязательно будет присутствовать слово «сайт».На самом деле оператор работает несколько по-другому. Подробно объяснять не буду, но важно знать, что часть запроса справа от '<<' не влияет на релевантность. Так что используйте этот оператор, только когда наличие слова в сниппетах перевешивает потерю релевантности.
Примечание. До того как этот оператор стал известен, приходилось использовать оригинальный метод Александра Садовского: 'сайт ~~ (сайт ~~ лебедев)'. Здесь обязательно сделайте паузу и оцените красоту решения.
Как трактуется пробел близко и далеко
Цитата из официальной документации: «Яндекс хорошо понимает запросы из нескольких слов и способен самостоятельно их интерпретировать. Он знает, в каких случаях надо искать страницы, в которых слова запроса расположены рядом, а когда достаточно словам встретиться в одном документе, чтобы страница хорошо соответствовала запросу».Означает это следующее. Когда вы делаете запрос 'кубок яндекса финал', Яндекс трансформирует его примерно в 'кубок & яндекса &&/7 финал': он ищет в одном предложении слова «кубок» и «яндекс», и на расстоянии не более семи предложений от них должно находиться слово «финал».
Обычно на этот механизм определения «связанности» слов можно положиться и просто разделять слова в запросе пробелами. Однако периодически он подводит, и приходится явно указывать Яндексу, хотите вы увидеть слова в пределах предложения (оператор '&') или им достаточно встретиться на одной странице (оператор '&&').
Раньше можно было узнать, как Яндекс трактовал пробелы в каждом запросе. Увы, осенью 2007 г. эту возможность убрали.
Долгие годы пробелы рядом со скобками и кавычками автоматически трактовались как '&'. Сейчас эта ошибка исправлена, и ответить на вопрос второго тура VIII Кубка Яндекса найти открытку "Спокойной ночи" (Везенбергъ и Ко) не очень сложно.
Примечание. В документации сообщается, что «не очень далеко» на странице расширенного поиска это поиск на расстоянии в несколько предложений. На самом деле такой вариант отдаст пробелы на откуп обработчику связанности слов, то есть, строго говоря, слова могут быть найдены и очень далеко друг от друга.
Исключение слова
Глюки. При использовании операторов исключения меняется порядок результатов в выдаче, даже если вы исключаете несуществующее слово: сравните 'компьютер' и 'компьютер ~ гывлсзырмзов'. Что интересно, новый вариант сортировки будет уже внутренне логичный, и в нем операторы исключения будут работать аккуратно, выбрасывая из выдачи ненужные результаты, при этом не меняя порядок остальных. Сравните 'компьютер ~ гывлсзырмзов' и 'компьютер ~~ журнал'.Цифры
Когда речь заходит о цифрах, Яндекс забывает, что он поисковик, и начинает себя вести словно какой-то Microsoft Excel. Так, запросы '107 0000' (скорее всего, ищется телефон) '107 000' (очевидно, количество), '107 00' (часто цена), '107,0' (похоже на частоту радиостанции) для Яндекса эквивалентны. Совпадение «числоформы» в запросе и в тексте, увы, даже не влияет на ранжирование. Оператор '!', как и полагается, позволяет искать точную «числоформу» '107 !0'.Если ищете даты или дробные числа, учтите, что для Яндекса '17 01 2003' (ищет также «17-01-2003», «17/01/2003» ) и '17.01.2003' разные запросы.
Поиск спецсимволов
Нет, 'C#' и 'C++' Яндекс не ищет и искать в ближайшее время не собирается. Используйте Google.Транслитерация
Какая разница между словами «хоровод» и «xopoвog»? Она почти не видна, но первое слово написано по-русски, а во втором только одна русская буква 'в', остальные же написаны латинским шрифтом.Яндекс учитывает «взаимозаменяемость» некоторых английских и русских букв, поэтому:
1. Оба запроса дадут почти на 100% одинаковые результаты: 'хоровод' и 'xopoвog'. В запросе из одного слова приоритет отдается точной форме (т.е. если в запросе латиница, то и первые результаты будут с ней); результаты запросов из двух и более слов идентичны, вне зависимости от написания.
2. Оба запроса найдут страницы как с русским «хороводом», так и составленным частично из английских букв (отсюда вывод: иногда Яндекс может найти слово на странице, а Ctrl-F нет).
Яндекс «транслитерует» слова, в которых есть хотя бы одна русская буква (noдapok полужирным выделены латинские буквы). Яндекс НЕ транслитерует слова: 1) в которых все буквы английские: 'nogapok' (включая и слова, состоящие из одной буквы: 'мне хорошо c тобой'); 2) в которых есть хотя бы одна цифра: 'подарок1' и 'nодарок1'. «0» (цифра) и «О» (буква) почему-то не взаимозаменяемы. Яндекс транслитерует только в русскую сторону, поэтому 'samsunд' ничего не найдет.
Украинская «і» (радіємо) и английская «i» (радiємо) транслитеруются.
Если вам не нужна транслитерация, используйте '!': '!поgарок'.
Поиск по маске
Яндекс не ищет слова с пропущенными буквами, как-то 'Ян?екс' или 'Янде*'. Илья Сегалович примерно в 2003 г. обещал подумать об этом и все еще обещает.Единственное исключение поиск адреса (только для неизвестного окончания) и его вариации.
1. Поиск доменов domain="ya*"
2. Поиск авторов в Яндекс.Блогах author="kub*"
3. Поиск ссылок там же link="www.livejournal.com/community/kubo
4. И т.п.
Поиск в элементах
Читайте оригинальную документацию. К ней есть лишь пара замечаний.Со служебными операторами можно обращаться точно так же, как и со словами: к ним применимы операторы расстояния, "ИЛИ", "НЕ" и другие; с ними можно строить сколь угодно сложные запросы. Скажем, запрос '$title ("англо русский") (domain="forum*" | $title (форум|forum))' прекрасно находит англо-русские форумы.
Отделяйте операторы поиска в элементах от слов запроса символами '<<'. Сравните 'unix rhost="ru.narod.*"' и 'unix << rhost="ru.narod.*"'.
Поиск на заданном сайте
Есть три основных способа поиска на сайте:- оператор 'url="адрес*"' в строке поиска (или аналогичный host="адрес*");
- страница расширенного поиска (или аналогичный по действию параметр 'surl=адрес' в адресной строке, или через форму «Проверить сайт»);
- параметр 'serverurl=адрес' в адресной строке.
Иллюстрирующая табличка, с гуглевым 'site:' для сравнения.
| www.artlebedev.ru | artlebedev.ru | design.ru | vilka.ru | |
| Оператор url | есть, нужен еще один клик | Находит сайты вида artlebedev.rutube.ru | Находит сайты вида design.rusmedserv.com | нет |
| Страница расширенного поиска | есть | есть, также находит поддомены artlebedev.ru | Находит поддомены сайта design.ru | нет |
| Параметр serverurl | есть | есть | Находит результаты с сайта artlebedev.ru | Находит результаты с сайта artlebedev.ru |
| Google, оператор site: | есть | есть, также находит поддомены artlebedev.ru | Находит поддомены сайта design.ru | Ухитрился что-то найти на vilka.ru |
Как видите:
- Оператор url для поиска по сайту плохо подходит, к тому же каждый раз нужно переходить по ссылке «еще с сайта».
- serverurl и страница расширенного поиска хорошо дополняют друг друга, так что для полноты рекомендуется применять их одновременно.
- Поиск по сайту у Google примерно аналогичен поиску по сайту через страницу расширенного поиска у Яндекса.
Разное
«Найдётся всё»
По умолчанию Яндекс исключает из выдачи страницы-дубли, очень похожие на другие. Если вам нужны все результаты (скажем, ищете все ссылки на свой блог или все страницы со старым телефонным кодом Москвы на своем сайте), добавьте к адресу выдачи '&rd=0' (rd, надо полагать Remove Duplicates). Например, http://www.yandex.ru/yandsearch?text=%21«Найден по ссылке»
Примечание «найден по ссылке» в результатах означает, что на самом сайте слова из запроса не были найдены, зато на него кто-то такими словами ссылается. Кто именно, узнать уже нельзя.Для таких документов Яндекс не выдает ссылку на сохраненную копию:
Самый простой способ все-таки получить ссылку на кэш сделать еще один запрос, в котором искать на странице, найденной по ссылке, слово, которое там точно есть (скажем, ее заголовок). Пример.
Параллельный поиск
Не все знают: табы «Новости», «Маркет», «Адреса», «Словари», «Блоги», «Картинки» выделяются черным цветом, если результаты в них есть, и серым если результатов нет. Это теоретически, на самом деле черно-серое кодирование включается, только когда вы ищете во вкладках «Везде», «Новости» или «Картинки», и часто показывает неправильно, так что в данный момент является глубоко бессмысленной фичей. Обещают починить.Поиск по сайтам каталога
В каталоге Яндекса разложены по тематикам десятки тысяч сайтов, но поиск он почему-то представляет только по описаниям сайтов, им же сделанным.Чтобы полноценно искать на сайтах определенной рубрики, сделайте запрос вида: 'запрос << cat=(CATID)', где CATID = 9000000 + номер рубрики. Вот список рубрик и их номера (структуру же рубрик можно посмотреть в самом каталоге). Например, 'юрист << cat=(9000025)' поиск слова "юрист" на сайтах, входящих в рубрику "Высшее образование" (№ 25) Яндекс.Каталога. В выдаче показывается категория каждого сайта. Легко заметить, что там указывается не "Высшее образование", а "Гуманитарные вузы", "Студенческая жизнь" или даже "Работа" очевидно, поиск идет также по всем вложенным и второстепенным категориям. Одному сайту может быть присвоено несколько категорий, и, насколько я знаю, запросы вида 'cat=(9000068)' единственный способ получить полный список сайтов категории.
Яндекс.XML
Яндекс.XML позволяет вам делать автоматические запросы к Яндексу (не более 1000 в день) и самостоятельно обрабатывать результаты.Зачем нужен (мне, по крайней мере):
1. Делать одновременно запросы в другие поисковые системы и объединять их выдачи.
2. Применять свой синтаксис, чтобы все основные операторы можно было набирать в русской раскладке.
3. Создать в Яндексе аналог оператора диапазона из Google заменять '1930..1940' на '(1930|1931|1932|1933|1934|1935|1936|193
4. Сделать собственный дизайн выдачи. В нынешней яндексовской, на мой взгляд, много недостатков.
5. Выдавать ссылки на кэш для документов, найденных по ссылке.
6. Выводить несколько страниц с каждого найденного сайта.
И еще много чего по мелочи.
Если вдруг решите использовать Яндекс.XML вместо основного Яндекса, учтите, что, во-первых, их выдачи слегка различаются, во-вторых, в Яндекс.XML не работает параметр maxpassages, и больше двух сниппетов вам не покажут.
Задание для самостоятельной работы
Мальчик Денис хочет найти ссылки на свой ЖЖ в блогах и форумах. Полученным запросом он хочет поделиться с друзьями, чтобы они тоже могли найти ссылки на себя. Денис подумал и сделал вот такой запрос. Внесите в него минимум три улучшения. (Ответ)Послесловие
Нет, я не работаю в Яндексе и понятия не имею, что у него внутре, хотя подозреваю, что без неонки и думателя таки не обошлось.Яндекс отличный поисковик.
Большое спасибо всем, кто так или иначе помог в работе над документацией: Илья Сегалович, Александр Садовский, Роман Иванов (все компания «Яндекс»), Максим Сидоров, Евгений Ющук, Евгений Трофименко.
Еще раз, документация ни в коем случае не заменяет имеющуюся, а призвана ее исправить и дополнить.
Приведенная документация не является истиной в последней инстанции. «Истину вам предстоит найти самому» ©