Реферат по предмету "Программирование и компьютеры"


Rambler - формы запросов и поиск

Введение Rambler: история компании Есть такой городок в Подмосковье - Пущино. Совсем небольшой - и по площади, и по населению. Город целиком и полностью посвящен биологии. Самая высокая точка Московской области. Больше десятка НИИ - и ни одного производственного предприятия. Две прямые параллельные улицы, на одной из которых расположились институты, а на другой располагается по вечерам и выходным отдыхающий народ. Рай, отделенный от остального мира океаном леса. Город на горе.
В 1991 году в городе Пущино появилась группа единомышленников, вдохновленных только что появившейся коммуникационной средой Интернет. Дмитрий Крюков, Сергей Лысаков, Виктор Воронков, Владимир Самойлов, Юрий Ершов - это технически подкованные, творческие и смелые люди с активной жизненной позицией и стремлением к новому. Судьба свела их вместе явно для больших свершений. Будущие создатели Рамблера поначалу обслуживали радиотехнические приборы в Институте биохимии и физиологии микроорганизмов РАН. Например, Дмитрий Крюков работал на ЯМР-спектрометре, помогал биологам анализировать трехмерную структуру ДНК, создавал уникальную гигантскую электронную катротеку микроорганизмов. Когда находишься в Пущино, возникает желание общаться, коммуницировать, связываться с огромным миром, который за лесом. Видимо, эта тяга и сподвигла компанию "Стек" во главе с Сергеем Лысаковым заняться локальными сетями и подключением к Интернету. Нормальный, оперативный и эффективный обмен данными был необходим для реализации научных целей. "Стековцы" сами создали внутри города сеть, подключили Пущино к Москве и через нее - к мировому Интернету (это был первый IP-канал в России, выходящий за пределы Москвы), присоединились к сети Курчатовского института атомной энергии. "Стековцы" вспоминают, что иной раз кабели приходилось прокладывать вручную, зимой, под землей. При минусовой температуре! В 1992 году компания запускает собственные ftp- и mail-серверы. Через два года - свой первый www-сервер. Так, постепенно, шаг за шагом Пущино становилось очень важным узлом Мировой Сети. 1996 год - ключевой для развития русского киберпространства. Именно в этот год Сергей Лысаков и Дмитрий Крюков принимают решение разработать первую русскую поисковую систему для Интернета. Команда "Стека" прозорливо сделала ставку на программу-поисковик. Это было важное, ответственное и, на первый взгляд, необоснованное решение, поскольку в то время российский сегмент Сети был очень мал - не более 30-50 сайтов. А новые разработки означали для компании покупку оборудования, для чего пришлось сократить собственные зарплаты. Программист Дмитрий Крюков начал с того, что придумал проекту название. Для этого открыл англо-русский словарь. Взгляд упал на Rambler. Дмитрию понравилось значение слова "скиталец, странник, бродяга": роботы поисковой машины действительно ходят по сайтам, собирая информацию, круглые сутки не зная покоя. За работой сидел и днями, и ночами. Жена Карина приносила обеды и ужины в офис. Когда Дмитрия спрашивают, что это значит для программиста - создать такую программу, он спокойно отвечает: это интересно, это проверка себя, своих сил. Это не настолько сложно, чтобы отказывать себе в удовольствии сделать это. Через несколько месяцев, к осени 1996 года, был готов окончательный вариант поисковика. 26 сентября был зарегистрирован домен rambler.ru, а 8 октября "Стек" активизировал систему. В тот момент в Рунете уже существовало две-три поисковых машины - но они не выдержали проверки временем и быстро исчезли. А Рамблер развивался, эволюционировал. Хотя ему пришлось пройти через огонь и воду. Сергей Лысаков и Дмитрий Крюков рассказывают, как однажды на верхнем этаже прорвало трубу и сервер, на котором работал Рамблер, пришлось буквально просушивать. Ничего, не сломался. В другой раз примитивно подвело железо: сгорели жесткие диски. Сергей и Дмитрий в тот же день съездили в Москву и срочно купили - за бешеные деньги - новые устройства. Система не работала всего одни сутки. Для отладки работы системы приходилось очень подолгу сидеть за компьютером, неотрывно контролируя поток запросов и процесс поиска. Рамблер держался на энтузиазме своих создателей, на воле и вере в правильность выбранного пути. Весной 1997 года появляется Rambler's Top100 - уникальный рейтинг-классификатор, который не только оценивает на основе объективных данных популярность российских ресурсов, но и позволяет одним "кликом" попасть на них. В сущности, вся история Рунета разделилась на "до" и "после". Возникновение такого универсального счетчика, способного направлять аудиторию на разные ресурсы, создало в российском Интернете активную, динамичную конкурентную среду. Веб-мастера стали более тщательно и вдумчиво работать над своими сайтами, стремясь занять в Топ100 более высокие строчки. Хороший рейтинг давал дополнительные преимущества - быстрый рост аудитории. В свою очередь, модераторы Топ100 боролись и с успехом борются по сей день с так называемыми накрутками - искусственным завышением рейтинга того или иного ресурса. За первый год существования рейтинга объем русскоязычного сегмента Сети вырос как минимум на два порядка. Rambler's Top100 быстро стал универсальным барометром сети, общим стандартом медиаизмерений. Каждый год семилетней истории Rambler ознаменован большими достижениями. Сегодня нам приятно вспоминать прошлые успехи, потому что компании есть чем гордиться. Наша история - это залог наших будущих достижений и прорывов. Rambler был и остается универсальным проводником, маяком и помощником для миллионов российских пользователей. Понимая значение портала для всей русской Сети и осознавая нашу ответственность, мы говорим сегодня о принципиально новой стратегии, рассматривающей Интернет как проект общества будущего, как инкубатор для решающих перемен. www.rambler.ru К нашему семилетию, 26 сентября 2003 года, мы приготовили несколько новинок, делающих знаменитый портал еще более интересным и полезным. Изменился дизайн головной страницы, он стал более свежим и вместе с тем остался легко узнаваемым. В июне 2003 года компания запустила новую версию поисковой машины, которая отличается от предыдущей по двум основным параметрам. Во-первых, значительно увеличилась скорость поиска; во-вторых, благодаря новой архитектуре системы обновление поискового индекса происходит несколько раз в день. Это значит, что Rambler всегда находит даже самые свежие документы, включая последние новости. Rambler понимает живой русский язык, знает, что бывает "б/у", "у.е." и "а/я". Механизм ассоциаций помогает пользователю точнее сформулировать свой запрос и, следовательно, быстрее найти искомый ресурс. Для тех, кто точно знает, что ищет, и не хочет тратить лишнее время, мы открыли специальную лаконичную версию нашего поиска по адресу r0.ru, или, как говорят, Арнольд. На этой странице есть только самое основное, то есть строка поиска, новости и почта. Сама почта также обновилась. Перемены не только внешние, но и внутренние: объем почтового ящика увеличился в три раза! Кроме того, появилась новая, многоуровневая система защиты от спама.
Rambler'sTop100: индустриальный рейтинг Rambler's Top100 - легендарный рейтинг-классификатор ресурсов российского Интернета. Пользователи Сети уже привыкли видеть на лучших сайтах значок "Участник Rambler's Top100". Этот рейтинг является своеобразным центром Сети в России, предоставляя как простым пользователям, так и специалистам универсальную панораму всего российского киберпространства. Именно поэтому за рейтингом закрепилась репутация надежного барометра интернет-индустрии. Тор100 делает Интернет в России прозрачным, понятным, почти осязаемым - как для обычных пользователей, так и для владельцев ресурсов, не говоря уже о рекламодателях.
В сфере интернет-рекламы Top100 - бесспорный лидер медиаизмерений в Сети. Рекламодатели используют его для выделения целевых аудиторий и планирования рекламных кампаний в Интернете. В основе лидерства Top100 - огромный охват (больше полумиллиона регистраций и 110 тысяч активных участников), жесткий регламент участия и четкая система модерирования, благодаря которой всех, кто пытается играть со статистикой, надолго либо навсегда исключают из рейтинга. Статистике Top100 доверяют как единственному достоверному источнику информации о популярности и, соответственно, ценности того или иного сайта. Поэтому так трудно продать ресурс, не имеющий официальной "истории" посещаемости в Тор100: без нее невозможно доказать, что аудитория своя, регулярная, а не нагнанная через pop-up и pop-under. Благодаря системе защиты от накруток, статистика Тор100 считается самой "консервативной", или осторожной оценкой - однако задача рейтинга прежде всего в том, чтобы быть единой для всех системой статистики, в рамках которой можно сравнивать показатели разных сайтов. С этой задачей Тор100 справляется идеально. Кроме функции универсального и беспристрастного арбитра, Top100 играет роль инструмента систематизированного поиска: пользователь может выбирать с помощью списка самые востребованные ресурсы в каждой из категорий, освобождаясь от необходимости блуждать по Интернету в поисках чего-то ценного. Как следствие, самый популярный в русскоязычном Интернете каталог создает в Сети конкурентную, активную, динамичную среду: владельцы ресурсов заинтересованы в том, чтобы стоять на более высокой строчке в рейтинге, потому что это обеспечивает дополнительный приток аудитории. Собственные ресурсы Рамблера вынесены из рейтинга в отдельную категорию "Ресурсы Рамблера", доступную с главной страницы Тор100 и внутренних страниц рейтинга. Это позволяет компании избежать понятного негодования участников рейтинга: ведь в противном случае многие проекты занимали бы первые места в ряде категорий каталога, что привело бы к подозрениям в нечестной конкуренции. Поскольку Тор100 - это, в первую очередь, инструмент бизнеса и индустрии, в рейтинге участвуют фактически все крупные сайты (за исключением одной поисковой системы, которая не предоставляет своей статистики) - эти ресурсы, по определению, обновляются лучше и чаще, чем все остальные. Именно их поисковая машина Rambler индексирует дважды в день. Так интеграция рейтинга Тор100 с поисковой машиной помогла сделать поиск Rambler самым оперативным в русскоязычном Интернете. В 2004 году Тор100 получил сертификат соответствия стандартам качества ISO 9001 | 2000. RamblerMassMedia: информационная сверхпроводимость Rambler Mass Media - одна из крупнейших информационных площадок российского Интернета. Ежемесячно наши новости читает более трех с половиной миллионов человек. Это универсальный источник информации о самых последних событиях в стране и в мире. В регулярной аудитории проекта традиционно высок процент госслужащих и корпоративной аудитории, что делает Rambler Mass Media одной из наиболее привлекательных рекламных площадок русскоязычного Интернета. Уникальность проекта состоит, прежде всего, в беспрецедентном охвате источников информации: Rambler Mass Media круглосуточно взаимодействует с более чем 50 ведущими российскими и зарубежными СМИ, как хорошо известными, так и появившимися недавно. Кроме того, Rambler Mass Media - безусловный лидер по внедрению мультимедиа. Помимо текстовых материалов и фоторепортажей, ставших визитной карточкой проекта, Rambler Mass Media представляет пользователям аудио и видеосюжеты, в числе поставщиков которых ВГТРК и BBC, Deutsche Welle, радио "Маяк" и др. Заголовки важнейших новостей размещаются на первой странице портала Rambler.ru и в блоке "Главные новости дня" на главной странице Rambler Mass Media. Наиболее актуальные новости могут читать и посетители других сервисов Рамблера - Рамблер Почты, Погоды на Рамблере. Спектр освещаемых тем достаточно широк: политическая и экономическая жизнь России, стран ближнего и дальнего зарубежья; новости бизнеса и финансов, чрезвычайные происшествия, спорт, новости медицины, культуры, технологий, Интернета; также обзоры прессы. В рамках проекта действует около ста пятидесяти постоянно обновляемых информационных сюжетов, которые рассказывают как о наиболее актуальных и общественно значимых на сегодняшний день событиях, так и о том, что уже стало историей. Использование большого количества информационных источников позволяет Rambler Mass Media предоставлять аудитории полную и достоверную информационную картину дня: один и тот же информационный повод может быть подан различными СМИ по-разному, с разным набором фактов, деталей и комментариев. Таким образом, предоставление максимально полной фактологии событий, равно как и аналитических материалов ведущих средств массовой информации делает Rambler Mass Media оптимальным посредником между теми, кто производит информацию, и теми, кто ее потребляет. Среди поставщиков Rambler Mass Media сегодня такие гранды российской прессы, как "Российская газета", ИД "Коммерсантъ", "Известия", "Труд", "Независимая газета" и другие издания. Круг наших партнеров постоянно расширяется. Пользуясь случаем, мы выражаем признательность нашим коллегам. Уверены в том, что вместе мы многократно расширим медийное пространство в Интернете! Поиск Rambler: новый механизм ассоциаций Теперь пользователям поисковой системы Rambler доступен новый механизм ассоциаций. Набрав в поисковой строке нужное слово, вы кликаете на окно "найти".Открывается так называемая ответная страница, в которой найденные документы расположены в порядке убывания релевантности (соответствия запросу). На этой же странице в самом низу - строка "У нас также ищут". В ней приведено несколько слов и словосочетаний, тематически (ассоциативно) связанных с вашим исходным запросом. Например, на слово "магия" в строке "У нас также ищут" выдаются результаты гадание, пси-магия, коды к играм, черная магия, counter-strike, games, коды, вторая мировая война, тетрис, . еще >>. Если нажать на "Еще", возникает целый блок ассоциаций, более развернутый. Можно, нажав на любое слово из списка, продолжить поиск.
Другой пример: Ищем "отдых в Турции". Получаем отдых турция, цены на отдых в турции, отели турции, отдых в турции кемер, кемер, . еще >> Ищем "аквариум". Получаем борис гребенщиков, аквариум гребенщиков, аквариум.ru, бг, аквариум борис гребенщиков, . еще >>
Последний пример демонстрирует, что ассоциации могут указать правильный путь к той или иной информации. Человек, который увлекается разведением рыбок, должен конкретизировать свой запрос, иначе поисковая машина на слово "аквариум" выдаст ему список сайтов, посвященных творчеству известной музыкальной группы. Большинство пользователей, набирая слово "аквариум" в строке поиска, ищет именно музыку. Для любителя рыбок имеет смысл нажать на "Еще", тогда он получает полный список, где наверняка окажутся подходящие слова, например "аквариумистика", "рыбки аквариумные", "цихлиды", "гуппи". С одной стороны, с помощью механизма ассоциаций пользователь может быстро уточнить или расширить свой запрос. С другой стороны, цепочка типичных ассоциаций выявляет недостатки исходного запроса, его неоднозначность, "размытость". В результате посетитель поисковика Rambler учится правильно спрашивать, не тратя впустую время, то есть, по сути, прибегает к помощи "коллективного разума". Кроме того, ассоциации несут ценную информацию, о которой пользователь мог раньше и не знать. Например, набрав "велосипеды", получаем вело, детские велосипеды, продажа велосипедов, горные велосипеды, велосипеды продажа, merida. В результатах уже есть классификация и популярная марка. В развернутом списке появляются другие типы велосипедов, а также названия магазинов. В некоторых случаях новый механизм исправляет ошибки запросов. Например, на запрос gjujlf получаем положительный результат: сайты о погоде и соответствующие ассоциации (gjujlf - это "погода", набранная в латинской раскладке). Если вы наберете вместо "фотоаппараты" слово "фотоапараты", Рамблер выдаст сайты, в которых это слово также набрано ошибочно. Кроме того, в ассоциациях есть и правильное написание. Такие же результаты - в случае запроса вида "Тольяти" ( правильно писать "Тольятти"). То есть Рамблер учитывает возможность ошибки и помогает быть более грамотным. Ассоциации содержат очень много полезных сведений для рекламодателей. С помощью этого механизма можно легко выяснить, что с чем ассоциируется, какие явления сопрягаются. Массовое сознание предстает как на ладони. Например, аудитория канала СТС (пользователи, интересующиеся сайтом и чатом СТС) часто спрашивает земфира, тату, руки вверх, ддт, britney spears и дельфин, а вот у аудитории MTV другие музыкальные пристрастия: децл, eminem, limp bizkit, prodigy, сектор газа. Механизм ассоциаций интересен любому, кто хочет посмотерть, о чем думают тысячи и тысячи посетителей сети. Он не только интересен, но и полезен. Это новый инструмент для поиска, равно как и источник ценной информации для лингвистов и web-мастеров. Рамблер: инновационные интерактивные проекты Конец 2003 - начало 2004 года ознаменовался для компании запуском серии инновационных интерактивных проектов. Это уникальные для российского интернета разработки, которые строятся на наших программах и энергии пользователей. Их подпитывает желание людей общаться, коммуницировать. Конечно, полностью их потенциал раскроется только когда нам удастся завершить их интеграцию, однако уже сегодня можно говорить о серии прорывов, которые подтверждают позицию Rambler как лидера индустрии. Прежде всего, необходимо отметить проекты Rambler-Группы и Rambler-Фото. Оба этих проекта предоставляют пользователям сети возможность использования заложенных в проекты программных алгоритмах в собственных целях. Проект Rambler-Группы дает людям возможность начинать обсуждения самых разных тем, которые существуют не только в виде форумов, но также и в виде открытых списков рассылки. Проект Rambler-Фото представляет пользователям сети возможность создания фотоальбомов в объеме до 20 мегабайт, причем это дисковое пространство зарегистированные пользователи Rambler получают в дополнение к тем мегабайтам почты, на которые они могут претендовать по новым условиям e-mail обслуживания (15 мегабайт). Таким образом, Rambler представляет самый большой в российском сегменти сети объем для хранения информации пользователя - до 35 мегабайт. И многие пользователи русскоязычного интернета уже успели воспользоваться этим правом. Фотоальбомы на Рамблере растут как грибы после дождя, а сами программные алгоритмы, заложенные в проект, уже успели "засветиться" как фундамент громких проектов - таких, как "Мисс Вселенная, Россия", первого общенационального интерактивного конкурса красоты. "Мисс Вселенная, Россия" стал первым по сути кросс-медийным проектов медиагруппы Rambler, где были задействованы возможности всех подразделений группы: и первого познавательного телеканала Rambler ТелеСеть, и Интернет-холдинга Rambler (как промо-мощности портала и система регистрации), и новые интерактивные проекты Группы и Фото (фактически, "Мисс Вселенная" стала объединяющих их "скином", как говорят программисты), и подразделение мобильных сервисов SMXCOM, которое организовывало всероссийское голосование за красавиц. Нет ничего удивительного в том, что Rambler поставил рекорд России по самым крупномасштабным выборам в русскоязычной сети: всего за русских красавиц было подано более 960 тысяч голосов. О конкурсе написали практически все издания - еще до финала, потому что это был первый в мире национальный конкурс красоты без жюри, который был организован как прямые демократические выборы. Но для нас самое важное - другое. Нам удалось на примере продемонстрировать возможности медиагруппы по созданию медиа-событий на базе всех форм медиа: интернета, телевидения, мобильной связи и даже печатной прессы, которую нам удалось благодаря партнерству с крупнейшими издательскими домами. Неудивительно, что запущенная Rambler в прошлом году рекламная кампания и бурная активность по продвижению кампании уже привела к тому, что рост аудитории портала Rambler превышает наши прогнозы (включавшие средний по индустрии рост и сезонные факторы) уже на 16%, и это не временный всплеск, а новый тренд. Рост аудитории Rambler по состоянию на конец апреля 2004 года составит 20%! Это делает нас одним из самых быстро растущих крупных ресурсов интернета не только в России, но и в мире! Rambler остается лидером Интернет-индустрии и на глазах превращается в крупнейшую медиагруппу по охвату аудитории после национальных телевизионных каналов. Расширенный поиск Форма расширенного поиска дает возможность: задавать дополнительные параметры поиска; редактировать параметры поиска и поля, заданные по умолчанию; выбирать наиболее удобную форму показа результатов поиска.
1. Поиск по тексту . всего документа - поиск осуществляется по всему документу, включая его название и заголовки; включено по умолчанию; названия - учитываются только названия документов (тег ); заголовков - учитываются только заголовки документов (теги , , , )
2. Искать слова запроса . все ("и") - документ находится только в том случае, если в нем присутствуют все слова запроса; включено по умолчанию; хотя бы одно ("или") - документ находится, если в нем встретилось хотя бы одно слово из запроса; точную фразу - документ находится, если в нем встретились все слова запроса, причем в том же порядке и в тех же формах, что и в запросе; выбор этой опции равнозначен заключению поискового запроса в двойные кавычки. 3. Расстояние между словами запроса . ограничивать - расстояние между словами из запроса в тексте документа не должно быть слишком большим; включено по умолчанию, поскольку повышает точность поиска; не ограничивать - расстояние между словами не играет роли; будут найдены все документы, содержащие слова запроса, вне зависимости от того, на каком расстоянии друг от друга они находятся. 4. Исключить документы, содержащие следующие слова . Из списка найденного исключаются те документы, в которых есть слова, перечисленные в этом поле. 5. Язык документа . любой - находятся любые документы, независимо от языка; включено по умолчанию; русский - поиск только по "русскоязычным" (кириллическим) документам; английский - поиск только по "англоязычным" документам (набранным латиницей). 6. Дата документа . Позволяет отбирать только те документы, дата создания которых укладывается в заданный диапазон. В частности, можно ограничить выдачу только "новыми" (начиная с указанной даты) или "старыми" документами (до указанной даты). Все даты задаются в формате день/месяц/год, например, 29/02/2000. По умолчанию находятся любые документы, вне зависимости от даты. Внимание: если сервер не возвращает даты документа, то в качестве таковой проставляется дата индексирования (день, когда документ был считан "пауком" Рамблера). 7. Искать документы только на следующих сайтах . Позволяет отбирать только те документы, которые найдены на указанных сайтах. Под сайтом понимается либо уникальное DNS-имя (домен), либо DNS-имя c каталогом первого уровня, начинающимся с тильды. Например: top100.rambler.ru, www.lenta.ru, www.hosting.ua/~name - но не www.rambler.ru/domains/. Можно указать несколько сайтов через запятые. По умолчанию в поиске участвуют документы со всех проиндексированных сайтов. 8. Вывод результатов поиска 8.1 Сортировать . сайты по релевантности - найденные документы группируются по сайтам, так что одна позиция в списке результатов поиска может соответствовать нескольким документам; порядок выдачи сайтов определяется их релевантностью (степенью соответствия запросу документов с сайта); включено по умолчанию; страницы по релевантности - документы не группируются по сайтам, то есть все документы с одного сайта выдаются по-отдельности; порядок выдачи определяется релевантностью (соответствием запросу) каждого отдельного документа; страницы по дате (сначала новые) - документы не группируются по сайтам; порядок выдачи - от более новых документов к более старым; страницы по дате (сначала старые) - то же, что и в предыдущем случае, но сначала выводятся самые старые из найденных документов. 8.2 Выдавать . по 15 - на страницах результатов поиска выводится по 15 найденных документов (сайтов); включено по умолчанию; по 30 - количество позиций на страницах результатов поиска увеличивается до 30; по 50 - количество позиций на страницах результатов поиска увеличивается до 50. 8.3 Форма вывода . стандартная - включено по умолчанию; краткая - в результатах поиска показываются только заголовки найденных документов; детальная - выводится максимум информации о найденных документах: заголовок, аннотация, идентификатор документа, даты модификации и индексирования, размер, кодировка, адрес, и т.п. 8.4 Связанные запросы . показывать - в левой части экрана выводится список запросов, "связанных" с данным - то есть часто задаваемых теми пользователями, которые вводили данный запрос; не показывать - включено по умолчанию; колонка со списком "связанных" запросов не выводится (начало списка показывается внизу страницы под заголовком "У нас также ищут"). Язык поисковых запросов Поисковый запрос может состоять из одного или нескольких слов, в нем могут присутствовать знаки препинания. Составлять простые запросы можно и не вдаваясь в тонкости языка запросов. Так, если ввести в поисковую строку несколько слов без знаков препинания и логических операторов, будут найдены документы, содержащие все эти слова (причем на ограниченном расстоянии друг от друга). Однако знание и правильное применение языка запросов поисковой машины поможет сделать Ваш поиск на Рамблере быстрым и эффективным. Регистр В общем случае, регистр написания поисковых слов и операторов значения не имеет, то есть дом и ДОМ, Not и nOt воспринимаются одинаково. И лишь иногда, в целях повышения качества поиска, регистр слов поискового запроса принимается во внимание. Например, если запрос состоит из двух, трех или четырех слов, каждое из которых написано с большой буквы, то предполагается поиск по имени собственному, и автоматически производится изменение ограничения расстояния между словами запроса со значения по умолчанию на величину (n-1)*2, где n - количество слов запроса. Это позволяет находить группу слов запроса, внутри которой есть не более одного "лишнего" слова или знака препинания, например "Баден-Баден", "А. Пушкин", "Федор Михайлович Достоевский". Операторы Запрос, состоящий из нескольких слов, может содержать операторы. Поиск операторов в документе не производится, они служат лишь инструкцией поисковой машине. Все операторы поисковой машины бинарные, то есть имеют левую и правую часть, каждая из которых также является запросом (по умолчанию состоящим из одного слова). Для изменения сферы действия операторов (группировки нескольких слов запроса в аргумент оператора) применяются скобки и кавычки. Два запроса, соединенные оператором AND (логическое И) образуют сложный запрос, которому удовлетворяют только те документы, которые одновременно удовлетворяют обоим этим запросам. Иными словами, по запросу 'собака AND кошка' найдутся только те документы, которые содержат и слово 'собака', и слово 'кошка'. Сложному запросу, состоящему из двух запросов, соединенных оператором OR (логическое ИЛИ) удовлетворяют все документы, удовлетворяющие хотя бы одному из этих двух запросов. По запросу 'собака OR кошка' найдутся документы, в которых есть хотя бы одно из слов 'собака' или 'кошка' (либо оба эти слова вместе).
Оператор NOT (логическое И-НЕ) образует запрос, которому отвечают документы, удовлетворяющие левой части запроса и не удовлетворяющие правой. Так, результатом поиска по запросу 'собака NOT кошка' будут все документы, в которых есть слово 'собака' и нет слова 'кошка'. Если оператор явно не указан, используется оператор по умолчанию AND: находятся только документы, содержащие все слова запроса. Так, запрос 'информация технологии кредит' будет истолкован как 'информация AND технологии AND кредит'. На странице Расширенного поиска оператор по умолчанию можно заменить на OR (Искать слова запроса: хотя бы одно).
Операторы AND и OR имеют сокращенные обозначения: Оператор Сокращенное обозначение AND & OR | Запрос из нескольких слов, перемежающихся операторами, будет истолкован в соответствии с их приоритетом. Операторы AND и NOT традиционно имеют более высокий приоритет, поэтому запрос из нескольких слов при обработке сначала группируется по операторам AND и NOT, и лишь потом по операторам OR. Изменить порядок группировки можно использованием скобок. Кавычки Для поиска цитат можно использовать двойные кавычки. Слова запроса, заключенного в двойные кавычки, ищутся в документах именно в том порядке и в тех формах, в которых они встретились в запросе. Таким образом, двойные кавычки можно использовать и просто для поиска слова в заданной форме (по умолчанию слова находятся во всех формах). Например, запросу 'самолет "заправился" посадка' удовлетворяет документ, содержащий текст ' . самолет совершил посадку и заправился .', и не удовлетворяет документ, содержащий ' самолет совершил посадку, чтобы заправиться .'. Скобки При построении запросов иногда возникает необходимость объединения слов запроса в группы, которые будут аргументами некоторого оператора. Такие группы заключаются в скобки. Часть запроса, заключенная в скобки, сама является запросом, и на нее распространяются правила языка построения запросов. Использование скобок позволяет строить вложенные запросы и передавать их операторам в качестве аргументов, а также перекрывать приоритеты операторов, принятые по умолчанию. Если запрос без скобок 'машина самолет | аэродром' эквивалентен запросу 'машина AND самолет OR аэродром' и, в соответствии с приоритетами операторов, означает "найти документы, содержащие либо слова 'машина' и 'самолет', либо слово аэродром, то запрос со скобками 'машина (самолет | аэродром)' равносилен запросу 'машина AND (самолет OR аэродром)', что означает "найти документы, содержащие слово 'машина' и одно из слов 'самолет' или 'аэродром'". Метасимволы Рамблер пока не поддерживает поиск строк с использованием метасимволов ('*', '?'), которые обычно используются в значении "любая подстрока" и "произвольный одиночный символ" соответственно. Тем не менее, эти операторы зарезервированы для подобного использования в будущем. Применение языка запросов Каждый запрос, адресованный поисковой машине Рамблера, обрабатывается в соответствии с правилами языка запросов. Некоторые слова и символы трактуются как операторы языка запросов и обрабатываются специальным образом. Фактически, языком запросов описывается некая формула, которая используется при поиске - каждый из документов "сопоставляется" с ней, и результатом поиска являются только те документы, которые ей удовлетворяют. Например, запросу 'самолет' удовлетворяют все документы, в которых хотя бы раз встретилось слово 'самолет' в любой форме. Запросу, состоящему из нескольких слов, удовлетворяют документы, содержащие каждое из этих слов в любой форме (при некоторых условиях). Вопрос соответствия документа более сложному запросу определяется логикой операторов и конструкций языка запросов. Морфология По каждому слову запроса поиск ведется с учетом правил словоизменения соответствующего языка. Рамблер понимает и различает слова русского и английского языков - по умолчанию, поиск ведется по всем формам слова. Например, при поиске по слову 'человек' будут также найдены документы, содержащие слова 'человеку', 'человеком', 'человека' и даже 'люди'. Чтобы провести поиск только по одной определенной форме слова, нужно взять его в двойные кавычки или воспользоваться поиском точной фразы в расширенном поиске. Стоп-слова Некоторые слова и символы по умолчанию исключаются из запроса в связи с их малой информативностью. Это так называемые стоп-слова - самые частотные слова русского и английского языков, например, предлоги, частицы и артикли. Присутствие этих слов может замедлить поиск и негативно повлиять на полноту результатов. Есть возможность обозначить необходимость этих слов в запросе, взяв запрос в двойные кавычки или воспользовавшись поиском точной фразы в расширенном поиске. Ограничение расстояния Если запрос составлен из одного или нескольких слов без применения операторов и конструкций языка запросов, то будут найдены документы, в которых встречаются все слова запроса. При этом для каждого запроса всегда существует так называемое ограничение контекста - положительное число, по умолчанию равное расстоянию в 40 слов. Документ, в котором встретились все слова запроса, будет выдан только в том случае, если расстояние в словах между вхождениями слов запроса будет меньше этого числа. Например, по запросу 'красная армия' будут найдены те документы, в которых слова 'красная' и 'армия' хотя бы один раз встретятся менее чем в 40 словах друг от друга. Значение ограничения контекста можно изменять конструкцией '(число, запрос)', где число - любое положительное число, запрос - любой корректный с точки зрения поисковой машины запрос, состоящий более чем из одного слова (очевидно, ограничение расстояния между словами в случае однословного запроса не имеет смысла). Таким образом, по запросу '(2, красная армия)' найдутся только те документы, в которых между словами 'красная' и 'армия' хотя бы раз не стоит ни одного слова (поскольку лишь в случае их непосредственного соседства разница в порядковых номерах слов меньше 2, т.е. равна 1) Ненайденные слова Если запрос состоит из нескольких слов, и при этом некоторые из них вообще не удалось найти в Интернете, то выдаются результаты поиска по частичному запросу, из которого отсутствующие в Интернете слова исключены. При этом на странице результатов поиска выдается соответствующая диагностика. Специальные операторы Рамблер позволяет искать страницы, на которых размещены счетчики Top100, TopShop, TopList, SpyLog, а также HotLog. Для того, чтобы найти в интернете все страницы, на которых размещен счетчик с заданным идентифтикатором, используйте оператор ${counter=ID}, где counter - название счетчика (top100, topshop, toplist, spylog или hotlog), а ID - номер счетчика (идентификатор ресурса). Пример: для того, чтобы найти в Интернете все страницы раздела Рамблер-Открытки (идентификатор Top100 - 193680), подайте Рамблеру запрос ${top100=193680}. Принципы работы поисковой машины Рамблер,
или как выжить в условиях постоянно растущего Интернета Интернет постоянно растет, так же как растет и число пользователей, которые обращаются с запросами к поисковым системам. Увеличение объема информации и количества запросов, в свою очередь, приводит к повышению требований к скорости работы поисковых машин, качеству поиска и наглядности представления результатов. Так, для того чтобы пользователь остался доволен результатом, на сегодняшний день поисковой системе нужно собрать, обработать, обновить, найти и отсортировать в два раза больше документов, чем год назад. А основная задача поиска как раз и состоит в том, чтобы пользователь был доволен его результатами.
Когда пользователь обращается с запросом к поисковой машине, он хочет найти то, что ему нужно, максимально быстро и просто. Получая результат, он оценивает работу системы, руководствуясь несколькими основными параметрами. Нашел ли он то, что искал? Если не нашел, то сколько раз ему пришлось переформулировать запрос, чтобы найти искомое? Насколько актуальную информацию он смог найти? Насколько быстро обрабатывала запрос поисковая машина? Насколько удобно были представлены результаты поиска? Был ли искомый результат первым или сотым? Как много ненужного мусора было найдено наравне с полезной информацией? Сможет ли он, вернувшись завтра и дав тот же запрос, получить те же результаты? Для того, чтобы ответы на эти вопросы оставались удовлетворительными, разработчики поисковых машин постоянно совершенствуют алгоритмы и принципы поиска, добавляют новые функции, ускоряют работу системы. В этой статье мы обратимся к механизму работы поисковой машины Рамблер, и на примере ее устройства продемонстрируем, как достигается повышение качества и скорости поиска в условиях постоянного роста объема информации в сети Интернет. Полнота Полнота - это одна из основных характеристик поисковой системы, которая представляет собой отношение количества найденных по запросу документов к общему числу документов в Интрнете, удовлетворяющих данному запросу. Например, если в сети Интернет имеется 100 страниц, содержащих словосочетание "Красная площадь", а по соответствующему запросу было найдено всего 70 из них, то полнота поиска будет 0,7. Чем полнее поиск, тем меньше вероятность, что пользователь не сможет найти нужный ему документ, при условии, что он вообще существует в Интернете. Полнота поиска в большой мере зависит от работы системы сбора и обработки информации. В связи с постоянным ростом количества документов в сети, эта система в первую очередь должна быть масштабируемой. В Рамблере масштабируемость достигается за счет параллельного исполнения задачи произвольным количеством машин. Сбором информации занимается робот-паук, который обходит страницы с заданными URL и скачивает их в базу данных, а затем архивирует и перекладывает в хранилище суточными порциями. Робот размещается на нескольких машинах, и каждая из них выполняет свое задание. Так, робот на одной машине может качать новые страницы, которые еще не были известны поисковой системе, а на другой - страницы, которые ранее уже были скачаны не менее месяца, но и не более года назад. Хранилище у всех машин едино. При необходимости работу можно распределить другим способом, например, разбив список URL на 10 частей и раздав их 10 машинам. Параллельная работа программы позволяет легко выдерживать дополнительную нагрузку: при увеличении количества страниц, которые нужно обойти роботу, достаточно просто распределить задачу на большее число машин. В хранилище информация в сжатом виде собирается и разбивается на куски по 50 Мб. Эти части постепенно распределяются между 70 машинами, на которых запущена программа-индексатор. Как только индексатор на одной из машин заканчивает обработку очередной части страниц, он обращается за следующей порцией. В результате на первом этапе формируется много маленьких индексных баз, каждая из которых содержит информацию о некоторой части Интернета. Таким образом, вся интеллектуальная обработка данных осуществляется параллельно, поэтому ускорение процесса индексации достигается простым добавлением машин в систему. После того, как все части информации обработаны, начинается объединение (слияние) результатов. Благодаря тому, что частичные индексные базы и основная база, к которой обращается поисковая машина, имеют одинаковый формат, процедура слияния является простой и быстрой операцией, не требующей никаких дополнительных модификаций частичных индексов. Основная база участвует в анализе как одна из частей нового индекса. Так, если объединяются 70 новых частей, то в анализе участвует 71 фрагмент (70 новых + основная база предыдущей редакции). Кроме того, единый формат позволяет проводить тестирование частичных баз еще до объединения их с основной, и обнаруживать ошибки на более раннем этапе. Специальная программа ("сливатор") составляет таблицы перенумерации документов базы. Содержимое всех частей объединяется. Среди страниц с одинаковыми адресами выбирается наиболее свежая версия; если при скачивании URL последней информацией была ошибка 404 (запрашиваемая страница не существует), она временно удаляется из индексной базы. Параллельно осуществляется склейка дублей: страницы, которые имеют одинаковое содержимое, но различные URL, объединяются в один документ. Сборка единой базы из частичных индексных баз представляет собой простой и быстрый процесс. Сопоставление страниц не требует никакой интеллектуальной обработки и происходит со скоростью чтения данных с диска. Если информации, которая генерируется на машинах-индексаторах, получается слишком много, то процедура "сливания" частей проходит в несколько этапов. В начале частичные индексы объединяются в несколько промежуточных баз, а затем промежуточные базы и основная база предыдущей редакции пересекаются. Таких этапов может быть сколько угодно. Промежуточные базы могут сливаться в другие промежуточные базы, а уже потом объединяться окончательно. Поэтапная работа незначительно замедляет формирование единого индекса и не отражается на качестве результатов. Точность Точность - еще одна основная характеристика поисковой машины, которая определяется как степень соответствия найденных документов запросу пользователя. Например, если по запросу "Красная площадь" находится 150 документов, в 70 из них содержится словосочетание "Красная площадь", а в остальных просто присутствуют эти слова ("красная баба кричала на всю площадь"), то точность поиска считается равной 70/150 (~0,5). Чем точнее поиск, тем быстрее пользователь находит нужные ему документы, тем меньше "мусора" среди них встречается, тем реже найденные документы не соответствуют запросу. Повышение точности в поисковой машине Рамблер достигается за счет использования различных технологий на всех этапах обработки и поиска информации. Одним из наиболее интересных процессов является распознавание грамматических омонимов. Омонимы - это слова, которые имеют одинаковое написание, но различный смысл. Различают лексические и грамматические омонимы. Лексические омонимы относятся к одной части речи, как, например, существительное "бор": хвойный лес, стальное сверло и химический элемент. Грамматические омонимы относятся к разным частям речи, поэтому по написанию у них обычно совпадают только отдельные формы. Примерами грамматических омонимов могут служить слова "печь" - существительное русская "печь" и глагол "печь" пирожки; "рядовой" - прилагательное "рядовой" сотрудник и существительное "рядовой" Иванов.
Омонимы не только увеличивают размер индексной базы (так как для каждого такого слова приходится хранить все его возможные значения), но и отрицательно сказываются на точности поиска. Если пользователь ищет слово "данные", ему неинтересно получить в найденном все документы, которые содержат слово "дать". Для того, чтобы результаты поиска были точнее, модуль синтаксического анализа проводит разбор окружения слов-омонимов с целью установления их наиболее вероятных значений. Например, если рядом со словом "печь" стоит существительное ("пирожки", "картошка"), то с высокой вероятностью "печь" в данном контексте является глаголом. На сегодняшний день анализатор способен распознавать значения только грамматических омонимов.
Синтаксический анализ позволяет также с определенной вероятностью распознавать некоторые имена собственные. Например, если в тексте несколько слов подряд написано с большой буквы, они чаще всего представляют собой имя собственное (Петр Петрович, Московский Государственный Университет). Данные о таких конструкциях учитываются при индексации и обработке запроса. Еще один способ повышения точности поиска - это выделение устойчивых обозначений и поиск их как отдельных лексических единиц. На сегодняшний день в Рамблере реализована система распознавания таких конструкций, например C++, б/у, п/п-к. Если по запросу С++ поднимать все тексты, в которых присутствуют латинская буква С, а также знак +, то получится огромное количество документов, далеко не все из которых соответствуют запросу; кроме того, это большая работа, значительно увеличивающая время поиска. Огромную роль в повышении точности поиска играет ранжирование. Пользователь очень редко просматривает больше трех страниц с результатами поиска. Поэтому субъективно он оценивает точность по "верхним" документам. Даже если нужный документ найден поисковой машиной, но расположен на двухсотой позиции, скорее всего, он никогда не будет найден пользователем. По умолчанию в Рамблере результаты ранжируются по степени соответствия (релевантности) запросу и группируются по сайтам. При ранжировании оцениваются различные характеристики текстов, такие как: Количество вхождений слов (словосочетаний) в документ - чем больше раз словосочетание "Красная площадь" присутствует в тексте, тем выше вероятность, что в нем действительно говорится о Красной площади; Расположение слов запроса в документе - если словосочетание "Красная площадь" присутствует в заголовках или названии документа, то документ с большей вероятностью посвящен Красной площади; Формы слов запроса - преимущество отдается вхождениям, в которых слова имеют тот же падеж, число, склонение и т.д., что и в запросе пользователя ("Красная площадь", а не "Красной площадью"). Помимо точного совпадения, выделяются две группы форм слов - близкие и далекие. Близкими считаются изменения по падежам, склонениям, спряжениям, числам и родам. Далекими формами являются причастия, деепричастия и т.п. При ранжировании преимущество отдается близким формам слов запроса. Расстояние между словами запроса - если запрос состоит из нескольких слов, то в найденных документах оценивается, насколько близко друг от друга расположены эти слова. Преимущество отдается документам, в которых слова запроса находятся ближе друг к другу, потому что в этом случае они с большей вероятностью связаны между собой. Например, если слово "Красная" расположено в тексте на 5 позиции, а слово "площадь" - на 650, то скорее всего в документе речь идет не о Красной площади. Относительная частота (отношение количества вхождений слов запроса в документ к общему количеству слов в документе) - если словосочетание встречается 10 раз в документе из 100 слов, то он скорее соответствует запросу, чем если оно встречается те же 10 раз в документе из 20 тысяч слов; Популярность - поисковая машина автоматически вычисляет коэффициент популярности каждой страницы Интернет на основе данных счетчика Top100 и анализа гипертекстовых ссылок между страницами. Преимущество отдается более популярным ресурсам. Ссылочный вес документа - при ранжировании учитывается ссылочный вес страницы, рассчитанный на основании учета гиперссылок, содержащих слова запроса. Так, если на некоторый документ словами "Красная площадь" ссылается большое количество страниц с высокими поэффициентами популярности, то ему отдается приоритет по запросу Красная площадь. Помимо автоматических способов увеличения точности поиска, существуют различные средства, с помощью которых пользователь сам может уточнить поиск по отдельным запросам. В первую очередь к ним относится специальный язык поискового запроса, используя который можно ограничивать количество найденных документов. Например, запрос или его часть, взятые в кавычки, обрабатываются буквально, с учетом всех стоп-слов, форм, порядка, знаков препинания. Это повышает точность поиска, но уменьшает его полноту: если часть, заключенная в кавычки, неточна, нужный документ найден не будет. Использование логического оператора OR (ИЛИ) позволяет расширить сферу поиска и увеличить его полноту, в то время как оператор NOT (И-НЕ), наоборот, повышает точность поиска за счет нахождения документов, которые содержат одни слова запроса и не содержат другие. Для повышения точности можно также задавать расстояние между словами. Если в искомом словосочетании порядок слов обычно сохраняется (например, Красная площадь), то в запросе для повышения точности имеет смысл ограничить расстояние, указав его в скобках через запятую: (2, Красная площадь). Это позволит отсеять документы, в которых слова красная и площадь не расположены рядом, а разбросаны по тексту. Увеличить точность можно с помощью использования поиска в найденном. Уточняющий поиск, проводится уже не по всей индексной базе, а только по результатам предыдущего поиска. Таким образом, круг найденных документов сужается. Например, если дать запрос Красная площадь, а затем, провести поиск в найденном по запросу Москва, то результат будет содержать только те документы, в которых говорится о Красной площади города Москвы. Актуальность Актуальность - не менее важная характеристика поиска, которая определяется временем, проходящим с момента публикации документов в сети Интернет, до занесения их в индексную базу. Например, на следующий день после теракта в Тушино огромное количество пользователей обратились к поисковой машине Рамблер с соответствующими запросами. Объективно с момента публикации новостной информации на эту тему прошло меньше суток. Однако основные документы уже были заиндексированы и доступны для поиска, благодаря существованию "быстрой базы", которая обновляется два раза в день, а при необходимости может обновляться быстрее. На сегодняшний день индексная база поисковой системы Рамблер состоит из 8 частей, каждая из которых живет своей независимой жизнью. Весь Интернет условно разделен на 7 секторов и называется своим цветом: красный, оранжевый, желтый, зеленый, голубой, синий, фиолетовый. Сайт компании Рамблер относится к голубому сектору. Информация о web-ресурсах каждого сектора хранится в соответствующей части индексной базы. Восьмая часть - "быстрая база" - включает в себя страницы, на которых размещен счетчик Тор 100 и которые еще не успели попасть в основную индексную базу.
Все части индексной базы собираются и обновляются по отдельности. Так, сегодня происходит переиндексация и обновление красного сектора, завтра - оранжевого и желтого, послезавтра - зеленого и т.д. Благодаря такому ступенчатому алгоритму в поисковой машине регулярно появляется свежая информация. Полный цикл обновления занимает около недели. При этом сбор информации происходит параллельно, а непосредственно на изготовление индекса документов одного сектора уходит всего несколько часов. Поэтому существует принципиальная возможность обновлять индексную базу быстрее.
Разделение Интернета на 7 секторов условно. При необходимости он может быть разбит на 10, 20 или 40 секторов, каждый из которых будет обрабатываться автономно. В такой системе заложена возможность значительного увеличения нагрузки. С ростом объема информации в сети Интернет растет и индексная база поисковой машины. Постепенно переиндексация и сборка базы начинает занимать все больше времени, а процесс обновления индекса становится более громоздким. Поступление новых данных затягивается, информация начинает терять свою актуальность. Возможность "передела" Интернета на большее число секторов позволяет удерживать размер каждой части базы в оптимальном диапазоне, контролировать время ее сборки и обновления. "Быстрая база" отличается от остальных частей индекса меньшим объемом и очень оперативным обновлением: время ее построения занимает около двух часов. В базе содержится информация о страницах, на которых был установлен счетчик Тор 100. Участниками рейтинга Тор 100 являются новостные порталы, сайты крупных компаний, Интернет-магазины, форумы, - все наиболее популярные ресурсы в сети. Каждый раз при установке счетчика на новую страницу сайта, зарегистрированного в Тор 100, информация передается в поисковую систему. Страница ищется во всех цветах основной базы и, если она еще не известна поисковой системе, отправляется в очередь на обработку. Перед обработкой страницы дополнительно фильтруются, из них отбираются самые посещаемые. Таким образом, "сливки" с Интернета собираются два раза в день. "Быстрая база" представляет собой разумное решение проблемы актуальности данных в поиске. Информационное агентство может выложить новость через десять минут после ее появления, потому что тратит время только на верстку страницы. Поисковая машина должна сначала заиндексировать текст, а на это требуется гораздо больше времени. "Быстрая база" охватывает все ресурсы Интернет, зарегистрированные в Тор 100, на которых был размещен счетчик, и которые еще не успели попасть в основную базу. При этом индексируются как страницы с новостями, так и другие свежие документы, появившиеся в Тор 100. В результате через сутки после теракта в поиске Рамблера была доступна не только основная информация, опубликованная на сайтах новостных агентств, которую можно найти и прочитать в разделах новостей, но и комментарии, высказывания очевидцев, обсуждения на форумах, все, что было к этому времени опубликовано на наиболее посещаемых страницах Интернета. Скорость поиска Скорость поиска тесно связана с его устойчивостью к нагрузкам. На сегодняшний день в рабочие часы к поисковой машине Рамблер приходит около 60 запросов в секунду. Такая загруженность требует сокращения времени обработки отдельного запроса. Здесь интересы пользователя и поисковой системы совпадают: посетитель хочет получить результаты как можно быстрее, а поисковая машина должна отрабатывать запрос максимально оперативно, чтобы не тормозить вычисление следующих. Схематично обработка поискового запроса изображена на рисунке 1. Запрос поступает в поисковую систему через маршрутизатор Cisco 6000 series. Cisco передает его наименее загруженной машине первого уровня - frontend (1.1 - 1.3, на рис. машине 1.3). Frontend, в свою очередь, отправляет запрос дальше, на один из восьми proxy-серверов, также выбирая наиболее свободный сервер (2.1 - 2.8, на рис. машине 2.2). Одновременно frontend отправляет запрос на машины, осуществляющие поиск по товарам (3.1 - 3.2, на рис. машине 3.1) и по базе Тор 100 (4.1 - 4.2, на рис. машине 4.1). На proxy проводится поиск по ссылочному индексу, и его результаты вместе с поисковым запросом передаются на машины, которые содержат основную индексную базу, - backends (5.1.х - 5.7.х, на рис. машинам 5.1.2, 5.2.11, 5.3.1 и т.д.) Та же информация отправляется на машины с "быстрой базой" (6.1 - 6.2, на рис. 6.1). На текущий момент в поиск включено 77 backend'ов. Они сгруппированы по 11 машин, и каждая группа содержит копию одной из частей поискового индекса. Таким образом, информация о сайтах, условно входящих в красный сектор Интернета, находится на backend'ах первой группы (5.1.1 - 5.1.11 на рис), оранжевый сектор - на backend'ах второй группы (5.2.1 - 5.2.11) и т.д. Proxy-сервер выбирает наименее загруженный backend в каждой группе машин и отправляет на него поисковый запрос с результатами ссылочного поиска. На backend'ах осуществляется поиск по частям индексной базы и ранжирование с учетом результатов поиска по ссылочному индексу. При ранжировании для всех найденных документов высчитываются веса по конкретному запросу. После того, как запрос обработан на backend'ах, информация о результатах и ранжировании отдается обратно на proxy-сервер. Туда же поступают отсортированные результаты с машин "быстрой базы". Proxy интегрирует данные, полученные с восьми машин: клеит дубли, объединяет зеркала сайтов, переранжирует документы в общий список по весам, рассчитанным на backend'ах. Так, первым в списке найденного может быть документ с машины 5.3.1, вторым и третьим - с 6.1, четвертым - с 5.5.2 и т.д. На proxy-сервере также реализуется построение цитат к документам и подсветка слов запроса в тексте. Полученные результаты отдаются на frontend. Помимо информации с proxy-сервера, frontend получает результаты из поиска по товарам и из базы Тор 100, отсортированные, с цитатами и подсветкой слов запроса. Frontend осуществляет окончательное объединение результатов, генерирует html со списком найденного, вставляет баннеры и перевязки (ссылки на различные разделы Рамблера) и отдает html Cisco, который маршрутизирует информацию пользователю. Каждый из этапов обработки запроса многократно продублирован и защищен системой балансировки нагрузки. Благодаря дублированию информации поисковая система Рамблер является устойчивой к сбоям на отдельных участках, авариям, отказам оборудования. Если одна их машин перестала функционировать, нагрузка перераспределяется на другие машины, и выпадения документов из поиска не происходит. Масштабируемость достигается простым добавлением в систему машин соответствующего уровня. До недавнего времени в Рамблере работало 45 backend'а. В связи с тем, что осенью нагрузка на поисковые системы обычно возрастает, число backend'ов было увеличено до 77, что позволило значительно ускорить вычисление запросов.
Еще один способ повышения скорости поиска - "кэширование", сохранение информации о запросах и результатах поиска в буфере. Многие люди дают одни и те же поисковые запросы. Вычислять их каждый раз заново было бы неразумной тратой времени. Поэтому если запрос уже обрабатывался в течение некоторого интервала времени, результаты поиска отдаются пользователю из "кэша".
Лингвистический анализ текста документов и запроса также позволяет ускорить обработку информации. Например, определение значения омонимов уменьшает количество нерелевантных запросу документов, которые нужно ранжировать и цитировать. Выделение устойчивых обозначений (С++, б/у) на этапах индексации и обработки запроса приводит одновременно к повышению точности и сокращению временных затрат на обработку каждого отдельного элемента обозначения (раньше запрос С++ обрабатывался как отдельно латинское С, отдельно плюс и еще один плюс. Запрос вычислялся долго, а среди результатов поиска было много нерелевантных документов, например, страницы, содержащие математические формулы и т.п.) С этой же целью используются словари стоп-слов. Стоп-слова - это наиболее частотные слова языка, которые встречаются практически в любом тексте и являются малоинформативными. В основном, это служебные слова - предлоги, частицы, артикли. Если нет специальных указаний, поисковая машина игнорирует стоп-слова, встречающиеся в запросе, чтобы не тратить время на обработку дополнительной информации, снижающей качество поиска. Наглядность Наглядность представления результатов является необходимым компонентом удобного поиска. На плохой витрине легко не заметить хороший товар. По большинству запросов поисковая машина находит сотни, а то и тысячи документов. В следствие нечеткости запросов или неточности поиска, даже первые страницы не всегда содержат только нужную информацию. Это означает, что пользователю часто приходится проводить свой собственный поиск внутри списка найденного. Различные элементы ответной страницы помогают ориентироваться в результатах поиска. Группировка по сайтам предназначена для того, чтобы на странице можно было вывести как можно больше Интернет-ресурсов, релевантных запросу пользователя. Это бывает важным, когда необходимо получить информацию из различных источников. Если более информативной для посетителя является дата обновления или релевантность отдельных документов, в ответной странице Рамблера существует возможность сортировки по этим параметрам. В некоторых случаях полезным бывает знание имени сайта. Если пользователя интересует конкретный Интернет-ресурс, имя может дать ему гораздо больше информации, чем заголовок страницы или цитата. Если запросу соответствует больше одной страницы с сайта, то в качестве результата поиска предъявляется наиболее релевантная из них, а ниже располагается частичный список остальных документов. Это увеличивает количество потенциально полезной информации на ответной странице и часто позволяет уточнить поиск без дополнительного запроса. Цитата помогает определить, насколько полезную информацию содержит найденный документ. Очень часто посетителю не требуется переходить по ссылке, чтобы обнаружить, что текст не соответствует его интересам и потребностям. Иногда ответ на вопрос пользователя содержится непосредственно в цитате документа. Это экономит время и повышает эффективность работы поисковой системы. Восстановить текст - иногда единственный способ получить доступ к содержимому найденного документа. Ресурс бывает недоступен по разным причинам. Документ может быть удален, перенесен, изменен, но его текстовое содержание некоторое время сохраняется в индексной базе. Кроме того, внутри самого документа часто отсутствует навигация, позволяющая быстро найти фрагмент, релевантный запросу. В восстановленном тексте все слова запроса подсвечиваются. Ассоциации представляют собой список запросов, которые часто подаются пользователями в течении одной поисковой сессии. Алгоритм построения ассоциаций устроен так, что они почти всегда связаны между собой по смыслу. В некоторых случаях ассоциации позволяют повысить качество поиска за счет уточнения запроса (запрос "отдых в Польше" - ассоциации "отдых в Польше с детьми", "семейный отдых", "пансионаты в Польше"), исправления распространенных ошибок (запрос "gjujlf" - ассоциация "погода"), возможности сориентироваться в незнакомой тематике (запрос "антибиотик" - ассоциации "сумамед", "цифран", "бисептол" и т.д.) Как сделать, чтобы Rambler находил мои документы? Прежде всего рекомендуем заполнить регистрационную анкету в поисковой системе Rambler. Это будет гарантией того, что роботы Рамблера узнают о Вашем сайте и скорее начнут его индексацию. Анкета находится по адресу http://www.rambler.ru/doc/add_site_form.shtml. Автоматически роботы Rambler сканируют сайты, находящиеся в следующих доменах первого уровня: Российская Федерация: .ru, .su Украина: .ua Белоруссия: .by Казахстан: .kz Киргизия: .kg Узбекистан: .uz Грузия: .ge и игнорируют сайты из других доменов. Если Ваш сайт находится вне названных доменов (например, в зонах .com, .org, .net), но существенная часть сайта содержит русскоязычные материалы или, по Вашему мнению, он может представлять интерес для русскоязычной аудитории Рамблера, Вы можете отослать письмо на адрес search.support@rambler-co.ru с просьбой включить Ваш сайт в число сканируемых, либо заполнить форму обратной связи. Наши сотрудники рассмотрят эту просьбу и примут решение о целесообразности такого включения. Рекомендуем зарегистрировать сайт в рейтинге Top100 и расставить счетчик на всех страницах сайта. Анкета, заполняемая при регистрации в этом рейтинге, индексируется ежедневно, а специальный робот Рамблера дважды в день пополняет базу поисковой машины новыми страницами, на которых размещен счетчик. Таким образом, включение сайта в Тор100 - это самый быстрый способ попасть в результаты поиска! При заполнении полей анкеты "Название сайта" и "Описание" не следует вводить в них длинные перечни ключевых слов. Эти поля все равно пока не используются для поиска. Название и описание должны быть предназначены для прочтения человеком, так как эти поля используются в наших внутренних базах данных и просматриваются редакторами. Рамблер умеет извлекать гиперссылки из объектов Macromedia Flash. Если Ваш сайт имеет заставку или навигационные панели, выполненные c использованием этой технологии, Рамблер обработает их, найдет адреса всех страниц сайта и проиндексирует весь сайт. Однако, сами тексты flash-объектов не индексируются. Это решение принято потому, что большая часть таких объектов содержит элементы навигации, заставки, меню и другие фрагменты, очень важные в качестве источника гиперссылок, но малоинформативные как текст. Для сайтов, которые целиком состоят из flash-объектов, рекомендуется создать HTML-копию и зарегистрировать ее в поисковой машине.
Роботы Рамблера при сканировании игнорируют поля и все другие поля , кроме . Это связано с тем, что наша система старается индексировать документ таким, какой он есть (то есть таким, каким его видит пользователь). Не секрет, что зачастую создатели интернет-страниц злоупотребляют этими полями, пытаясь заставить поисковые машины находить документ по запросам, не имеющим к нему прямого отношения.
Не следует также использовать невидимый текст (в котором цвет шрифта совпадает с цветом фона). Комментарии в документе роботы Рамблера тоже не сканируют, поэтому советуем использовать их по прямому назначению. Помните, что каждый комментарий увеличивает размер Вашего документа, а значит, снижает вероятность того, что документ будет просмотрен пользователем до конца. Обратите внимание на заголовки и выделения в документе. Базовые понятия и ключевые для данного сайта слова целесообразно включать в следующие HTML-теги (в порядке значимости): . , , Чем чаще слово встречается в этих полях, тем более вероятно, что поисковая система Rambler выдаст ссылку на Ваш документ ближе к началу списка результатов поиска. Конечно, использование этих тегов должно органично сочетаться с дизайном Вашего сайта. С точки зрения поиска, использование фреймов в документе не приветствуется. Это не означает, что роботы не умеют сканировать фреймы. Роботы Rambler прекрасно справляются с конструкциями фреймов, однако наличие лишнего этажа ссылок (от головного навигационного фрейма к "содержательным") замедляет индексацию. Мы советуем включать в документы с фреймами HTML-тег с текстом документа и ссылками. Разумеется, это увеличит размер документа, но будет являться актом доброй воли по отношению к пользователям текстовых браузеров (например, Lynx) и поисковым машинам. Максимальный размер документа для роботов Рамблера составляет 200 килобайт. Документы большего размера усекаются до указанной величины. Впрочем, размещать в Сети документы такого размера без особой на то необходимости - все равно дурной тон; мы рекомендуем в любом случае ограничивать объем документа разумными рамками. Роботы Рамблера обрабатывают ссылки типа , однако наряду со ссылкой такого вида мы рекомендуем поместить в текст документа конструкцию . Это ускорит индексацию документов, указанных в imagemap, и облегчит доступ к документам для обычных браузеров. При написании документов внимательно следите за соблюдением русского/латинского регистров. Часто, например вместо русской буквы 'р' используют латинскую 'p', вместо русского 'с' - латинское 'c'. Некоторые подобные ошибки индексатор исправляет, но не все. Слова с подобными опечатками теряют информативность. Старайтесь не использовать дефисы '-' в качестве символов переноса. При этом слова разбиваются и теряют информативность; кроме того, такие переносы имеют все шансы оказаться у пользователя в середине строки. Помните, что браузер сам осуществляет представление документа согласно текущим установкам каждого конкретного пользователя. Часто изменяющиеся (динамические) документы рекомендуется исключить из списка индексируемых, т. к. актуальность этих документов быстро теряется. Осуществить это можно с помощью стандартного для HTTP механизма - посредством файла robots.txt в головной директории Вашего сайта или HTML-тега . Части документа, не требующие, по Вашему мнению, индексации, можно отделять в документе с помощью тегов . . Из частей документа, размеченных этими тегами, также не будут выделены ссылки для дальнейшего обхода. При задании перекрестных ссылок в документе будьте предельно внимательны, проверьте работоспособность каждой ссылки, иначе роботы (и пользователи!) не смогут добраться до некоторых из Ваших документов. Следует также иметь в виду, что с точки зрения HTML записи типа: и ("слэш" в конце href) являются разными ссылками. Обычно при запросе по первой ссылке робот получит редирект на вторую, а значит извлечет сам документ при обращении к Вашему серверу только на следующем проходе. Тем самым Вы замедляете индексацию Вашего сайта. Отнеситесь к планированию и размещению Вашего сайта серьезно, чтобы впоследствии не пришлось забрасывать администраторов поисковых систем письмами с просьбой переиндексировать сайт в связи с его переносом или полным изменением структуры. Поисковые машины - вещь достаточно инерционная, и переиндексация не будет мгновенной. Как управлять индексированием сайта Использование файлов robots.txt Роботы и файл robots.txt Рамблер, как и другие поисковые машины, для поиска и индексации интернет-ресурсов использует программу-робот. Робот скачивает документы, выставленные в Интернет, находит в них ссылки на другие документы, скачивает вновь найденные документы и находят в них ссылки, и так далее, пока не обойдет весь интересующий его участок Сети. Наш робот "зовут" StackRambler. Когда робот-индексатор поисковой машины приходит на web-сайт (к примеру, на http://www.rambler.ru/), он прежде всего проверяет, нет ли в корневом каталоге сайта служебного файла robots.txt (в нашем примере - http://www.rambler.ru/robots.txt). Если робот обнаруживает этот документ, все дальнейшие действия по индексированию сайта осуществляются в соответствии с указаниями robots.txt. Вы можете запретить доступ к определенным каталогам и/или файлам своего сайта любым роботам-индексаторам или же роботам конкретной поисковой системы. Правда, инструкциям файла robots.txt (как и meta-тегов Robots, см. ниже) следуют только так называемые "вежливые" роботы - к числу которых робот-индексатор Рамблера, разумеется, относится. Размещение файла robots.txt Робот ищет robots.txt только в корневом каталоге Вашего сервера. Под именем сервера здесь понимаются доменное имя и, если он есть, порт. Размещать на сайте несколько файлов robots.txt, размещать robots.txt в подкаталогах (в том числе подкаталогах пользователей типа www.hostsite.ru/~user1/) бессмысленно: "лишние" файлы просто не будут учтены роботом. Таким образом, вся информация о запретах на индексирование подкаталогов сайта должна быть собрана в едином файле robots.txt в "корне" сайта. Имя robots.txt должно быть набрано строчными (маленькими) буквами, поскольку имена интернет-ресурсов (URI) чувствительны к регистру. Ниже приведены примеры правильных и неправильных размещений robots.txt. Правильные: http://www.w3.org/robots.txt http://w3.org/robots.txt http://www.w3.org:80/robots.txt (В данном случае все эти три ссылки ведут на один и тот же файл.)
Неправильные: http://www.yoursite.ru/publick/robots.txt http://www.yoursite.ru/~you/robots.txt http://www.yoursite.ru/Robots.txt http://www.yoursite.ru/ROBOTS.TXT
Формат файла robots.txt Пример Следующий простой файл robots.txt запрещает индексацию всех страниц сайта всем роботам, кроме робота Рамблера, которому, наоборот, разрешена индексация всех страниц сайта. # Инструкции для всех роботов User-agent: * Disallow: / # Инструкции для робота Рамблера User-agent: StackRambler Disallow: Группы инструкций для отдельных роботов: User-agent Любой файл robots.txt состоит из групп инструкций. Каждая из них начинается со строки User-agent, указывающей, к каким роботам относятся следующие за ней инструкции Disallow. Для каждого робота пишется своя группа инструкций. Это означает, что робот может быть упомянут только в одной строке User-agent, и в каждой строке User-agent может быть упомянут только один робот. Исключение составляет строка User-agent: *. Она означает, что следующие за ней Disallow относятся ко всем роботам, кроме тех, для которых есть свои строки User-agent. Инструкции: Disallow В каждой группе, вводимой строкой User-agent, должна быть хотя бы одна инструкция Disallow. Количество инструкций Disallow не ограничено. Строка "Disallow: /dir" запрещает посещение всех страниц сервера, полное имя которых (от корня сервера) начинается с "/dir". Например: "/dir.html", "/dir/index.html", "/directory.html". Чтобы запрещать посещение именно каталога "/dir", инструкция должна иметь вид: "Disallow: /dir/". Для того, чтобы инструкция что-либо запрещала, указанный в ней путь должен начинаться с "/". Соответственно, инструкция "Disallow:" не запрещает ничего, то есть все разрешает. Внимание: точно так же и инструкции "Disallow: *", "Disallow: *.doc", "Disallow: /dir/*.doc" не запрещают ничего, поскольку файлов, имя которых начинается со звездочки или содержит ее, не существует! Использование регулярных выражений в строках Disallow, равно как и в файле robots.txt вообще, не предусмотрено. К сожалению, инструкций Allow в файлах robots.txt не бывает. Поэтому даже если закрытых для индексирования документов очень много, Вам все равно придется перечислять именно их, а не немногочисленные "открытые" документы. Продумайте структуру сайта, чтобы закрытые для индексирования документы были собраны по возможности в одном месте. Пустые строки и комментарии Пустые строки допускаются между группами инструкций, вводимыми User-agent. Инструкция Disallow учитывается, только если она подчинена какой-либо строке User-agent - то есть если выше нее есть строка User-agent. Любой текст от знака решетки "#" до конца строки считается комментарием и игнорируется. Использование META-тегов "Robots" В отличие от файлов robots.txt, описывающих индексацию сайта в целом, тег управляет индексацией конкретной web-страницы. При этом роботам можно запретить не только индексацию самого документа, но и проход по имеющимся в нем ссылкам. Инструкции по индексации записываются в поле content. Возможны следующие инструкции: NOINDEX - запрещает индексирование документа; NOFOLLOW - запрещает проход по ссылкам, имеющимся в документе; INDEX - разрешает индексирование документа; FOLLOW - разрешает проход по ссылкам. ALL - равносильно INDEX, FOLLOW NONE - равносильно NOINDEX, NOFOLLOW Значение по умолчанию: . В следующем примере робот может индексировать документ, но не должен выделять из него ссылки для поиска дальнейших документов: Имя тега, названия и значения полей нечувствительны к регистру. В поле content дублирование инструкций, наличие противоречивых инструкций и т.п. не допускается; в частности, значение поле content не может иметь вид "none, nofollow". Заключение Заключение пишется в конце и предполагает конечность. Но рост информации бесконечен, а потому нет предела совершенствованию поисковых машин. Важнейшей задачей разработчиков является улучшение качества поиска, движение в сторону большей эффективности и удобства в использовании системы. С этой целью постоянно меняются поисковые алгоритмы, создаются дополнительные сервисы, дорабатывается дизайн. Однако для того, чтобы выжить в мире динамичного Интернета, при разработке необходимо закладывать большой запас устойчивости, постоянно заглядывать в завтрашний день и примерять будущую нагрузку на сегодняшний поиск. Все, что сегодня программируется в Рамблере, рассчитано "на вырост". Такой подход позволяет заниматься не только постоянной борьбой и приспособлением поисковой машины к растущим объемам информации, но и реализовывать что-то новое, действительно важное и нужное для повышения эффективности поиска в сети Интернет. Использованные ссылки: http://www.rambler.ru http://top100.rambler.ru http://rambler-tv.ru http://people.rambler.ru http://r0.ru http://www.nakarte.ru http://groups.rambler.ru http://www.ferra.ru http://mixei.ru http://raskrutka.net http://www.connect.ru http://www.ramtel.ru


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :