В статье, посвященной поисковой машине Rambler (http://www.rambler.ru/ doc/architecture.shtml), называются основные характеристики, которые могут быть применены к любым поисковикам:
□ полнота;
□ точность;
□ актуальность;
□ скорость;
□ наглядность.
Для повышения точности результата в различных поисковых системах применяются различные способы. Каждый поисковик использует свои решения, в целом предназначенные для выполнения близких по сути задач. К примеру, вот что по этому поводу сказано на сайте Рамблера:
Повышение точности в поисковой машине Рамблер достигается за счет использования различных технологий на всех этапах обработки и поиска информации. Одним из наиболее интересных процессов является распознавание грамматических омонимов.
Омонимы не только увеличивают размер индексной базы (так как для каждого такого слова приходится хранить все его возможные значения), но и отрицательно сказываются на точности поиска. Если пользователь ищет слово "данные", ему неинтересно получить в найденном все документы, которые содержат слово "дать". Для того чтобы результаты поиска были точнее, модуль синтаксического анализа проводит разбор окружения слов-омонимов с целью установления их наиболее вероятных значений. Например, если рядом со словом "печь" стоит существительное ("пирожки", "картошка"), то с высокой вероятностью "печь" в данном контексте является глаголом. На сегодняшний день анализатор способен распознавать значения только грамматических омонимов.
Синтаксический анализ позволяет также с определенной вероятностью распознавать некоторые имена собственные. Например, если в тексте несколько слов подряд написано с большой буквы, они чаще всего представляют собой имя собственное (Петр Петрович, Московский Государственный Университет). Данные о таких конструкциях учитываются при индексации и обработке запроса.
Еще один способ повышения точности поиска — это выделение устойчивых обозначений и поиск их как отдельных лексических единиц. На сегодняшний день в Рамблере реализована система распознавания таких конструкций, как, например C++, б/у, п/п-к. Если по запросу С++ поднимать все тексты, в которых присутствуют латинская буква С, а также знак +, то получится огромное количество документов, далеко не все из которых соответствуют запросу; кроме того, это большая работа, значительно увеличивающая время поиска.
Источник: "Принципы работы поисковой машины Рамблер" (http://www.rambler.ru/doc/architecture.shtml).
А вот что на эту же тему пару лет назад сказал И. Сегалович, директор Яндекса по технологиям и разработке:
Алгоритм поиска учитывает социальную структуру Интернета. Он умеет отличать мнение людей от технической, вспомогательной и рекламной информации, то есть лучше распознавать, какой ресурс является авторитетным в своей области. Также введена дополнительная очистка результатов поиска от дубликатов. Теперь пользователь избавлен от повторения в списке найденного почти одинаковой информации. Поиск в Интернете — это серьезная наука, поэтому для повышения качества сервиса в Яндексе проводятся регулярные исследования. В прошлом году мы организовали отдел
Какова психология того, кто ищет информацию? Считается, что наиболее подходящие (релевантные) документы должны быть на первой-второй страницах результатов поиска. Если количество полученных результатов больше, человек вряд ли будет просматривать остальные страницы. И даже если в числе найденных есть документ, полностью отвечающий заданным условиям, но находится он на странице из второго десятка, ищущий этот документ не увидит — он просто не дойдет до этой страницы. Поэтому громадное значение приобретает и
По поводу релевантности Яндекс говорит, что это "соответствие ответа вопросу", но при этом важны две составляющие — полнота (ничто не забыто) и точность (отсутствие лишнего).
Релевантность различают как содержательную и формальную. Воспользовавшись словарями, представленными в Яндексе, предложу определения этих понятий:
□
□
В простейшем случае, релевантность текста определенному запросу — это процент вхождения запроса к общему объему текста. Для поисковых систем высокорелевантным текстом считается такой, где вхождение запроса в текст примерно равно 4–7 % — меньшего может не хватить, большее чревато тем, что система сочтет текст за поисковый спам и наложит на страницу некий понижающий фильтр или может вообще убрать страницу из результатов выдачи по искомому запросу.
Конечно, каждая поисковая система использует гораздо более сложные способы вычисления релевантности документов запросу пользователя. Тем не менее, несмотря на то что алгоритмы у всех поисковых машин разные, они построены на общих принципах — основные отличия результатов выдачи заключаются не в алгоритмах определения релевантности, а в конкретных способах реализации этих алгоритмов.
Какие же факторы, помимо вхождения слов запроса в текст документа, оказывают дополнительное влияние на его место среди других документов? Каждая поисковая машина, стремясь привлечь качеством выдачи запрашиваемой информации, разрабатывает собственные критерии подсчета релевантности. Это и плотность ключевых слов на странице, и разделы страниц, где находятся эти слова, объем содержания, тексты заголовков и ссылок и многое другое. Учитываются и такие рассчитываемые показатели сайтов, как индекс цитирования, тематический индекс цитирования, Page Rank. И при этом происходит постоянное изменение степени влияния на результаты тех или иных параметров, их состав и принцип расчета.
1.2. Как устроена поисковая машина Яndex
Поисковая машина Яndex относится ко второму рассмотренному ранее типу поисковых машин. У Яndexа есть свои пауки-агенты, есть свой Индекс и поисковый механизм. Эта поисковая машина ориентирована в первую очередь на российскую часть всемирного Интернета, т. е. индексируются в ней русскоязычные сайты, расположенные в доменах ru и su. Сделаны небольшие исключения для наиболее авторитетных зарубежных сайтов. Сложнее с русскоязычными сайтами, которые зарегистрированы в международных или региональных (государственных) доменах других стран — com, org, de, us и других, но они все же попадают в Индекс и учитываются при поиске.
Большинство значимых зарубежных нерусскоязычных сайтов может быть найдено по ссылке, при этом, в отличие от русскоязычных сайтов, в Индекс они не попадают. Упрощается ситуация в том случае, когда у компаний, таких как BMW, IBM и многих других, появляются русскоязычные версии сайтов, без проблем индексируемые Яндексом.
Поисковая машина — самый востребованный ресурс Яндекса. Ежедневно его посещают около четырех с половиной миллионов посетителей, при этом количество просмотренных поисковых страниц приближается к сорока миллионам. При этом пользователи, выполняющие на нем поиск, этого не замечают — складывается впечатление, что Яндекс работает индивидуально для каждого из них.
Так, при запросе средней "тяжести", то есть при поиске не очень частотного слова, время отклика системы (без учета времени передачи данных по каналу от поисковой системы к пользовательскому компьютеру) исчисляется десятыми долями секунды.
В условиях постоянного роста количества пользователей и их запросов главной задачей поисковой машины является сохранение приемлемых с точки зрения пользователей скорости и полноты выполнения запросов. Эта задача решается несколькими способами, каждый из которых является необходимым, но не достаточным в отрыве от других. Способы достижения высоких результатов на сегодня применяются следующие:
□ оптимизация базовых поисковых алгоритмов и архитектуры поиска;
□ регулярное увеличение мощностей вычислительных ресурсов поисковой системы;
□ использование архитектурной возможности масштабирования системы.
Оптимизация поисковых алгоритмов проводится постоянно. Результаты таких работ вводятся в действие до двух раз в год. Сказывается их внедрение на уменьшении нагрузки на поисковую машину (в год эта величина составляет 20–30 %), а также на уменьшении времени отклика.
Увеличение мощности — это постоянное обновление используемого оборудования. Сюда входит и переход на более мощные процессоры, увеличение оперативной памяти, увеличение объемов дисковых хранилищ. Способ хотя и необходимый, но крайне затратный. Результативность выполненного апгрейда можно косвенно оценить увеличением объема поисковой базы, находящейся в его распоряжении.
Третий способ — использование мастшабируемости системы. В двух словах суть его заключается в том, что каждый уровень системы распараллеливается на несколько одинаковых узлов. Например, при наличии десяти поисковых серверов, обрабатывающих поступающие запросы, очередной запрос будет направляться на тот из них, которых в данный момент времени будет свободен.
Аналогично обстоит дело и со сбором информации. Этим занимается робот-паук, который обходит страницы с заданными URL и скачивает их в базу данных, а затем архивирует и перекладывает в хранилище суточными порциями. Робот размещается на нескольких машинах, и каждая из них выполняет свое задание. Так, робот на одной машине может качать новые страницы, которые еще не были известны поисковой системе, а на другой — страницы, которые ранее уже были скачаны не менее месяца, но и не более года назад.
Хранилище у всех машин едино.
При необходимости работу можно распределить другим способом, например, просто распределив между роботами всю работу, учитывая лишь ее объемные показатели. Параллельная работа программы позволяет легко выдерживать дополнительную нагрузку — при увеличении количества страниц, которые нужно обойти роботу, достаточно просто распределить задачу на большее число машин.
В хранилище информация в сжатом виде собирается и разбивается на части. Эти части постепенно распределяются между множеством машин, на которых запущена программа-индексатор. Как только индексатор на одной из машин заканчивает обработку очередной части страниц, он обращается за следующей порцией. В результате на первом этапе формируется много маленьких индексных баз, каждая из которых содержит информацию о некоторой части Интернета. При увеличении нагрузки на машины, занимающиеся индексированием, проблема может быть решена простым добавлением машин в систему.
После того как все части информации обработаны, начинается объединение (слияние) результатов. Основная база участвует в анализе как одна из частей нового индекса. Так, если объединяются 70 новых частей, то в анализе участвует 71 фрагмент (70 новых + основная база предыдущей редакции). Специальная программа ("сливатор") составляет таблицы перенумерации документов базы. Содержимое всех частей объединяется. Среди страниц с одинаковыми адресами выбирается наиболее свежая версия; если при скачивании URL последней информацией была ошибка 404 (запрашиваемая страница не существует), она временно удаляется из индексной базы. Параллельно осуществляется склейка дублей — страницы, которые имеют одинаковое содержимое, но различные URL, объединяются в один документ.
Сборка единой базы из частичных индексных баз представляет собой простой и быстрый процесс. Сопоставление страниц не требует никакой интеллектуальной обработки и происходит со скоростью чтения данных с диска. Если информации, которая генерируется на машинах-индексаторах, получается слишком много, то процедура "сливания" частей проходит в несколько этапов. Вначале частичные индексы объединяются в несколько промежуточных баз, а затем промежуточные базы и основная база предыдущей редакции пересекаются. Таких этапов может быть сколько угодно. Промежуточные базы могут сливаться в другие промежуточные базы, а уже потом объединяться окончательно. Поэтапная работа незначительно замедляет формирование единого индекса и не отражается на качестве результатов.
Источник: "Принципы работы поисковой машины Рамблер" (http://www.rambler.ru/doc/architecture.shtml).
А вот что рассказывали о решении аналогичных задач на Яндексе.
Если применить к поиску на Яндексе традиционные термины Distributed Information Retrieval, то можно выделить следующие приемы распараллеливания.
1. Разделение коллекции документов — начиная с весны 2000 года, в Яндексе используется "параллельный поиск" в нескольких поисковых источниках.
В "Яндексе" есть четыре базы параллельного поиска:
• по новостям (обновление каждые 10 минут, ежедневно около 3000 новостей);
• по товарным предложениям интернет-магазинов (ежедневное обновление, примерно 300 000 товаров);
• по заголовкам статей энциклопедий (обновление раз в месяц, около 200 000 статей);
• по каталогу ("ручному" описанию веб-ресурсов).
Особый интерес с точки зрения традиционных поисковых технологий представляет техника разделения большой базы документов, то есть собственно базы веб-страниц. По состоянию на 2002 год она состояла из 60 млн документов и была разделена на 30 частей.
Среди особенностей текущей реализации разделения веб-коллекции в Яндексе можно отметить следующее:
• есть центр контроля и распределения URL;
• отсутствует репликация коллекции по машинам;
• распределение документов по коллекциям случайно.
2. Первая фаза обработки запроса: выбор коллекции, трансформации запроса — пользователь может явно указать, в какой коллекции следует искать. Если этого не сделано, то на основе лингвистического (точнее, эвристического) анализа запроса Яндекс может сделать допущение о приоритете специализированной коллекции или подходящей к характеру запроса рубрики каталога.
3. Вторая фаза обработки запроса: раздача запроса по коллекциям — обычно используются все коллекции. Собирающий сервер раздает в коллекции модифицированные запросы, в которых для каждого термина сообщается глобальное значение его
4. Третья фаза обработки запроса: исполнение и ранжирование запроса в коллекциях — запрос выполняется паралельно для всех коллекций.
Следует отметить, что веб-коллекции документов распределены по машинам произвольно и, вообще говоря, могут быть расположены все вместе на одной машине. Слияние результатов производится на том из собирающих (метапоисковых) веб-серверов, на который попадал пользователь при заходе по адресу www.yandex.ru. Процесс раздачи запроса, описанный здесь, позволяет корректно ранжировать слитый результат. При этом не требуется переранжирование результатов, полученных из разных неоднородных коллекций с использованием локальных IDF, а также не нужен динамический обмен данными между источниками для вычисления глобальнойIDF.
1.2.1. "Пауки"
Мы ищем в Яндексе информацию и новости, картинки и значения слов, товары и услуги. На сегодняшний день в базе данных накоплена информация о миллионах документов и сайтов, огромном количестве новостей, графических изображений, сотнях тысяч предлагаемых товаров и услуг. За обновление информации в ней отвечают различные роботы.
Вот они, те роботы, которые выполняют основную работу по поиску и индексированию информации:
□ Yandex/1.01.001 (compatible; Win16; I) — основной индексирующий робот;
□ Yandex/1.01.001 (compatible; Win16; P) — индексатор картинок;
□ Yandex/1.01.001 (compatible; Win16; H) — робот, определяющий зеркала сайтов;
□ Yandex/1.02.000 (compatible; Win16; F) — робот, индексирующий пиктограммы сайтов (favicons);
□ Yandex/1.03.003 (compatible; Win16; D) — робот, обращающийся к странице при добавлении ее через форму "Добавить URL";
□ Yandex/1.03.000 (compatible; Win16; M) — робот, обращающийся при открытии страницы по ссылке "Найденные слова";
□ YaDirectBot/1.0 (compatible; Win16; I) — робот, индексирующий страницы сайтов, участвующих в рекламной сети Яндекса.
А кроме них есть и несколько агентов, которые занимаются проверкой доступности сайта или документа, на который стоит ссылка в соответствующем сервисе. Их тоже несколько:
□ Yandex/2.01.000 (compatible; Win16; Dyatel; C) — "простукивалка" Яндекс. Каталога. Если сайт недоступен в течение нескольких дней, он снимается с публикации. Как только сайт начинает отвечать, он автоматически появляется в Каталоге.;
□ Yandex/2.01.000 (compatible; Win16; Dyatel; Z) — "простукивалка" Яндекс. Закладок. Ссылки на недоступные сайты помечаются серым цветом;
□ Yandex/2.01.000 (compatible; Win16; Dyatel; D) — "простукивалка" Яндекс. Директа. Она проверяет корректность ссылок из объявлений перед модерацией. Никаких автоматических действий не предпринимается;
□ Yandex/2.01.000 (compatible; Win16; Dyatel; N) — "простукивалка" Яндекс. Новостей. Она формирует отчет для контент-менеджера, который оценивает масштаб проблем и, при необходимости, связывается с партнером.
Если о наименованиях роботов информация не является закрытой (в любом случае, ее можно обнаружить в логах сайтов, которые эти роботы посещали), то сведения о том, на каком сетевом адресе работает тот или иной робот, закрыты. Связано это с необходимостью уменьшить вероятность некорректного использования этой информации в целях продвижения сайтов. С этой же целью сетевые адреса время от времени изменяются.
Зачем эта информация нужна вам? Если вы являетесь владельцем сайта, и у вас установлен механизм, собирающий информацию о ваших посетителях, в эти данные попадет и информация о посетивших ваш проект роботах. Вы будете в курсе, какие роботы и когда вас посещали и какие страницы просматривали.
1.2.2. Индекс
Огромный объем информации, размещенной в Интернете, приводит к разрастанию Индекса. С некоторой долей приближения информацию можно разделить на две категории — условно постоянную и переменную. К
Обработка быстроменяющейся информации потребовала иного подхода. Были разработаны новые технологии и алгоритмы, новые базы и поисковые роботы. Каждой отдельной базе соответствовал собственный Индекс. Поисковые базы были разработаны для поиска по словарям и энциклопедиям, по каталогу сайтов, по предложениям интернет-магазинов, новостям и блогам.
Но какие бы новые технологии ни создавались, какими бы совершенными ни становились технические средства, объем накапливаемой информации заставляет наращивать вычислительные мощности. Если первый Индекс размещался на обычном компьютере, стоявшем в буквальном смысле "в ногах" у разработчика, то теперь для размещения аппаратных средств построены специальные помещения, оборудованные всем необходимым для обеспечения непрерывной работы. А компьютер, положивший начало поисковой системе, теперь находится на выставке раритетов Яндекса.
1.2.3. Поисковый механизм
Начиная выполнять поиск с помощью Яндекса, мы может в явном виде указать, в какой базе (коллекции документов, типе документов) следует выполнять поиск. Если мы не указываем этого, то на основе анализа запроса Яндекс самостоятельно делает допущение о приоритете специализированной коллекции над основной, самостоятельно подбирает подходящую к запросу рубрику каталога.
Чаще всего для поиска используются все базы. При этом собирающий сервер раздает в них модифицированные запросы, прошедшие предварительную обработку. Эта обработка заключается в том, что каждому термину в запросе сообщается глобальное значение его обратной частоты, подсчитываемой по коллекции веб-страниц. Такая обработка требуется для того, чтобы поиск велся по единым правилам, и значения релевантности, вычисляемые в разных коллекциях, можно было бы считать последовательными и вычисляемыми "в одной системе координат".
Модификации запросов этим не ограничиваются, и для специализированных коллекций (например, "энциклопедий") могут быть и другими, в том числе и очень специфическими.
Запрос выполняется параллельно для всех коллекций, а слияние результатов, как и указывалось ранее, производится на том из собирающих (метапоисковых) веб-серверов, на который попадал пользователь при заходе по адресу www.yandex.ru. Результаты поиска по наиболее крупным источникам, если в них найден хоть один ответ, показываются рядом со ссылками из веба (справа — одна картинка и ссылка на остальные, а также ответ Маркета). Ответ остальных источников может показываться сверху или снизу результатов поиска, если он оказался достаточно релевантным — так работают Новости, Энциклопедии, Каталог.
1.3. Основы поиска в Яндексе
Поиск Яндекса — самый востребованный его ресурс. Огромная база данных, отличная скорость реакции, высокая релевантность ответа, возможность найти ответ на почти любой поставленный вопрос. Недаром одним из любимых слоганов поисковика было (и остается теперь) "Найдется все!" (рис. 1.1).
И даже его реклама в Московском метро среди назойливой рекламы разнообразных товаров и услуг выглядела как простая констатация факта, уверенная и правдивая.
Но не только скорость и качество повлияли на востребованность сервиса. Оказало свое влияние и удобство работы с поисковиком, разнообразие вариантов доступа к сервису. Российские, да и не только, поисковики зачастую грешат перегруженностью страницы ввода поискового запроса. Когда используешь сервис только для нахождения информации, все остальное в лучшем случае мешает, а часто — раздражает.
Яндекс предлагает различные варианты доступа к поисковой системе. Обычный, базовый вход выполняется по основному адресу — http://yandex.ru (рис. 1.2). "Весит" эта страница около 50 Кбайт и кроме логотипа других графических элементов не имеет (я не считаю в данном случае за графику отдельные элементы дизайна). Поэтому загружается страница очень быстро даже при использовании модемного соединения.
Что размещено на этой странице? Главный элемент — строка поиска. Чаще всего при вводе запросов используется обычный ее вариант, без дополнительных (расширенных) возможностей. По умолчанию поиск ведется во всех разделах, но можно выбрать более узкую зону поиска — поиск среди новостей, картинок, блогов, словарей. Ниже блока поиска — заголовки основных разделов каталога. Отдельным пунктом среди них выделены сайты вашего региона.
В зависимости от глубины обработки вашего IP-адреса, выводится информация о погоде в вашем городе и программа телевизионных передач на текущий момент (с учетом местного времени) по основным телеканалам. Присутствует и информация о курсе валют Центробанка — для кого-то она необходима. И очень кратко — буквально пять строчек — последние новости из ленты новостей.
Со страницы поиска можно перейти и на другие сервисы Яндекса, в том числе в личные, войти в почту, используя свой аккаунт, либо зарегистрировать новый, перейти на сервис Яндекс. Деньги.
1.3.1. Базовые возможности
Искать в Яндексе очень и очень просто. Вы задаете вопрос в том виде, в каком могли бы задать его приятелю, учителю, врачу, ученому. Единственное пожелание — вопрос не должен быть очень длинным и содержать множество слов. Оптимальное количество слов в запросе — от трех до шести. На мой взгляд, поиск выполняется быстрее и качественнее, если первоначальный запрос содержит не более трех слов, а при необходимости его уточнения выполняется поиск по дополнительным словам в уже найденном результате.
Поиск по одному слову может привести к неожиданным результатам. К примеру, вы хотите узнать о настройках привилегий пользователей в операционных системах. Вводите слово "привилегии" и получаете подборку ответов обо всех известных Яндексу привилегиях. И на первом месте будут ссылки на информацию о привилегиях депутатов. Да, где-то внутри списка на полусотне страниц наверняка будет и ссылка на нужную вам информацию. Но крайне редко кто-то просматривает более двух-трех страниц из полученных результатов.
Поисковая система Яндекса учитывает морфологию русского языка. Поэтому вне зависимости от того, в какой форме вы употребите слово в запросе, поиск будет вестись по всем возможным его формам. Для русского языка это особенно важно, поскольку слова могут употребляться в разных падежах, числах, склонениях. И если вы задали в запросе слово ель, то в результате поиска будут найдены документы, в которых содержатся слова "ель", "ели", "елка". Но обратите внимание — слово "ели" будет только в виде существительного, хотя в русском языке оно может быть использовано и в виде глагола ("есть", "ел", "едим"). Следовательно, Яндекс различает и части речи. И если вы ищете слово профессионал (существительное), будут найдены страницы со словами "профессионал", "профессионалы", но страницы со словом "профессиональный" (прилагательное) в результаты выведены не будут.
Однако не всегда использование морфологического анализа желательно. В ряде ситуаций необходимо найти слово в определенном его написании. Такая возможность также существует. Для отключения использования морфологического анализа перед требуемым словом в запросе достаточно поставить восклицательный знак.
Исключить морфологический анализ можно и другим путем — взять искомое слово в кавычки. Кавычки используются и в тех случаях, когда требуется найти определенное слововыражение, цитату. Например, если в строке поиска вы введете "мороз и солнце, день чудесный", то в результатах поиска будут приведены ссылки на страницы, содержащее искомое выражение.
В поисковой системе слова, начинающиеся с букв в разном регистре, считаются разными формами одного слова. Поэтому как бы вы ни написали слово пряжа, в результатах будут выведены ссылки не только на страницы, где говорится о ткачестве, изготовлении одежды, но и на страницы, где упоминается одноименный город в Карелии. Если вы хотите уточнить предмет поиска, следует воспользоваться оператором точной формы (вспомните — это восклицательный знак). По запросу! пряжа вам будут найдены документы, содержащие это слово в любом регистре. Но если запрос выполнить как! Пряжа, то в результате будут выданы документы, содержащие слово "Пряжа" с большой буквы. (В связи с этим очень часто приводятся примеры поиска распространенных сочетаний, совпадающих с именем собственным, например, группа! Черный кофе.)
Те, кто искали информацию с помощью Яндекса, знают, что среди найденных документов будут встречаться и такие, в которых содержится только часть слов, входящих в запрос. Что сделать, чтобы важное для вас слово присутствовало в документе в обязательном порядке? Для решения этой проблемы вам надо перед требуемым словом без пробела поставить знак +.
В русском языке, как и в любом другом, есть группа слов, которые встречаются в тексте значительно чаще других. К таким словам относятся предлоги, местоимения, частицы (еще их называют
Вы уже догадываетесь, какой ответ будет на вопрос, — а как исключить слово из поиска? Ну не хочу я, чтобы на странице результатов по запросу о компаниях-производителях горных лыж присутствовали предложения горных курортов. В этом случае в строке запроса перед словом, которое вы хотите исключить, необходимо поставить знак —. И тогда запрос может выглядеть так: горные лыжи — курорт — тур — агентство.
Вот те минимальные сведения, знания которых вполне достаточно для выполнения большинства поисковых запросов. Но иногда требования к результатам поиска предъявляются более высокие, и в этом случае нужно использовать расширенный поиск.
1.3.2. Расширенные возможности поиска
Для того чтобы использовать расширенные возможности, перейдите по ссылке расширенный поиск, находящейся под строкой ввода запроса. Вы попадете на новую страницу, где, помимо поля ввода запроса, размещены поля для формирования сложных поисковых условий.
Все выбранные вами условия являются обязательными при обработке запроса. Например, если вы в дополнительных условиях установите требование, чтобы слова запроса находились на одной странице документа, а документ был в формате DOC (Microsoft Word), то в результате получите список документов, в которых искомые слова находятся на одной странице. Ни HTML-страницы, ни другие документы, содержащие искомые слова, в результат поиска включены не будут.
Дополнительные условия разбиты на две группы. Первая группа условий Искомые слова относится к словам и их размещению в документе.
С помощью первого блока условий (табл. 1.1) назначается требование по взаимному расположению искомых слов (иначе — расстояние между словами).
Возможность определять в запросе взаимное расположение слов на странице или в документе связана с тем, что в Яндексе используются специальные алгоритмы, учитывающие не только морфологию слов, но и их связь между собой (если в запросе указано несколько слов).
Яндекс — весьма самостоятельная система, и если вы ей не укажете строгие правила поиска, он будет искать по правилам, применяемым по умолчанию:
Если слова, идущие в запросе одно за другим, тесно связаны между собой, поиск будет происходить в пределах одного предложения. Если связь менее тесная — поиск будет вестись на расстоянии в несколько предложений. В том случае, если Яндекс определит, что слова между собой не связаны, они будут разыскиваться в пределах одного документа.
…запрос продажа автомобилей Украина отличается от запроса продажа автомобили Украины. В первом запросе "точно найденным документом" будет считаться документ, в котором слова "продажа" и "автомобиль" находятся "рядом" (скажем, в одном предложении), а слово "Украина" — "далеко" (скажем, где угодно в документе). Во втором запросе точно найденным документом будет считаться только такой, в котором слова "автомобиль" и "Украина" находятся достаточно близко. Яндекс решает так, потому что фраза "автомобили Украины" синтаксически согласована. То есть, с точки зрения Яндекса, первый запрос нацелен на поиск украинских автомобильных дилеров, а второй — на поиск любых продавцов "Таврий".
Используя настройки расширенного поиска, вы тем самым ужесточаете требования к его результатам и ограничиваете "своеволие" поисковой машины. Незначительный, вроде бы, нюанс, но может существенно сказаться на полученных результатах.
При обычном поиске заданные в запросе слова разыскиваются по всем элементам страницы (табл. 1.2). В данном контексте под элементами понимаются тело страницы, ее заголовок (тот текст, который виден в заголовке браузера), либо ссылки, ведущие со страницы. Вы можете ограничить ареал поиска, выбрав один из перечисленных элементов. И более того, вы можете ужесточить поиск среди ссылок, если в качестве дополнительного параметра укажете, на какой конкретно сайт должна вести ссылка. Это может пригодиться в том случае, если вы знаете сайт, информации на котором вы доверяете. И если в процессе поиска в тексте документа будут ссылки на информацию с этого сайта, вы заранее предполагаете, что сможете доверять и найденной информации.