Принцип работы поисковых систем: раскладываем все по полочкам. Основные принципы работы поисковых систем в интернете Поисковая система интернет как работает

Жаропонижающие средства для детей назначаются педиатром. Но бывают ситуации неотложной помощи при лихорадке, когда ребенку нужно дать лекарство немедленно. Тогда родители берут на себя ответственность и применяют жаропонижающие препараты. Что разрешено давать детям грудного возраста? Чем можно сбить температуру у детей постарше? Какие лекарства самые безопасные?

В июле прошлого года не стало Ильи Сегаловича , основателя и директора по технологиям «Яндекса», создателя первой версии поисковика и автора его названия. В память об этом выдающемся человеке и общественном деятеле, который помог многим, в том числе и COLTA . RU , мы републикуем его об информационном поиске и математических моделях, которые лежат в его основе. Илья Сегалович называл поисковые системы одним из двух новых чудес света. Во всяком случае, без них и в том числе без главного детища Сегаловича - «Яндекса» наша жизнь была бы совсем другой.

В мире написаны сотни поисковых систем, а если считать функции поиска, реализованные в самых разных программах, то счет надо вести на тысячи. И как бы ни был реализован процесс поиска, на какой бы математической модели он ни основывался, идеи и программы, реализующие поиск, достаточно просты. Хотя эта простота относится, по-видимому, к той категории, про которую говорят «просто, но работает». Так или иначе, но именно поисковые системы стали одним из двух новых чудес света, предоставив homo sapiens неограниченный и мгновенный доступ к информации. Первым чудом, очевидно, можно считать интернет как таковой с его возможностями всеобщей коммуникации.

Поисковые системы в исторической перспективе

Существует распространенное убеждение, что каждое новое поколение программ совершеннее предыдущего. Дескать, раньше все было несовершенно, зато теперь повсюду царит чуть ли не искусственный интеллект. Иная крайняя точка зрения состоит в том, что «все новое - это хорошо забытое старое». Думаю, что применительно к поисковым системам истина лежит где-то посередине.

Но что же поменялось в действительности за последние годы? Не алгоритмы и не структуры данных, не математические модели. Хотя и они тоже. Поменялась парадигма использования систем. Проще говоря, к экрану со строчкой поиска подсели домохозяйка, ищущая утюг подешевле, и выпускник вспомогательного интерната в надежде найти работу автомеханика. Кроме появления фактора, невозможного в доинтернетовскую эру, - фактора тотальной востребованности поисковых систем - стала очевидна еще пара изменений. Во-первых, стало ясно, что люди не только «думают словами», но и «ищут словами». В ответе системы они ожидают увидеть слово, набранное в строке запроса. И второе: «человека ищущего» трудно «переучить искать», так же как трудно переучить говорить или писать. Мечты 60-80-х об итеративном уточнении запросов, о понимании естественного языка, о поиске по смыслу, о генерации связного ответа на вопрос с трудом выдерживают сейчас жестокое испытание реальностью.

Алгоритм + структура данных = поисковая система

Как и любая программа, поисковая система оперирует структурами данных и исполняет алгоритм. Разнообразие алгоритмов не очень велико, но оно есть. Не считая квантовых компьютеров, которые обещают нам волшебный прорыв в «алгоритмической сложности» поиска и про которые автору почти ничего не известно, есть четыре класса поисковых алгоритмов. Три алгоритма из четырех требуют «индексирования», предварительной обработки документов, при котором создается вспомогательный файл, сиречь «индекс», призванный упростить и ускорить сам поиск. Это алгоритмы инвертированных файлов, суффиксных деревьев, сигнатур. В вырожденном случае предварительный этап индексирования отсутствует, а поиск происходит при помощи последовательного просмотра документов. Такой поиск называется прямым.

Прямой поиск

Простейшая его версия знакома многим, и нет программиста, который бы не написал хотя бы раз в своей жизни подобный код:

Несмотря на кажущуюся простоту, последние 30 лет прямой поиск интенсивно развивается. Было выдвинуто немалое число идей, сокращающих время поиска в разы. Эти алгоритмы подробно описаны в разнообразной литературе, есть их сводки и сопоставления. Неплохие обзоры прямых методов поиска можно найти в учебниках, например, Седжвика или Кормена. При этом надо учесть, что новые алгоритмы и их улучшенные варианты появляются постоянно.

Хотя прямой просмотр всех текстов - довольно медленное занятие, не следует думать, что алгоритмы прямого поиска не применяются в интернете. Норвежская поисковая система Fast использовала чип, реализующий логику прямого поиска упрощенных регулярных выражений (fastpmc ) , и разместила 256 таких чипов на одной плате. Это позволяло Fast обслуживать довольно большое количество запросов в единицу времени.

Кроме того, есть масса программ, комбинирующих индексный поиск для нахождения блока текста с дальнейшим прямым поиском внутри блока. Например, весьма популярный, в том числе и в рунете, Glimpse .

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

Инвертированный файл

Эта простейшая структура данных, несмотря на свое загадочное иностранное название, интуитивно знакома как любому грамотному человеку, так и любому программисту баз данных, даже не имевшему дело с полнотекстовым поиском. Первая категория людей знает, что это такое, по «конкордансам» - алфавитно упорядоченным исчерпывающим спискам слов из одного текста или принадлежащих одному автору (например «Конкорданс к стихам А.С. Пушкина», «Словарь-конкорданс публицистики Ф.М. Достоевского»). Вторые имеют дело с той или иной формой инвертированного списка всякий раз, когда строят или используют «индекс БД по ключевому полю».

Проиллюстрируем эту структуру при помощи замечательного русского конкорданса - «Симфонии», выпущенной Московской патриархией по тексту синодального перевода Библии.

Перед нами упорядоченный по алфавиту список слов. Для каждого слова перечислены все «позиции», в которых это слово встретилось. Поисковый алгоритм состоит в отыскании нужного слова и загрузке в память уже развернутого списка позиций.

Чтобы сэкономить на дисковом пространстве и ускорить поиск, обычно прибегают к двум приемам. Во-первых, можно сэкономить на подробности самой позиции. Ведь чем подробнее задана такая позиции (например, в случае с «Симфонией» это «книга+глава+стих»), тем больше места потребуется для хранения инвертированного файла.

В наиподробнейшем варианте в инвертированном файле можно хранить и номер слова, и смещение в байтах от начала текста, и цвет и размер шрифта, да много чего еще. Чаще же просто указывают номер документа (скажем, книгу Библии) и число употреблений этого слова в нем. Именно такая упрощенная структура считается основной в классической теории информационного поиска - Information Retrieval (IR ) .

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

Дополнительно на разностный способ хранения адресов накладывают какой-нибудь простенький способ упаковки: зачем отводить небольшому целому числу фиксированное «огромное» количество байтов, ведь можно отвести ему почти столько байтов, сколько оно заслуживает. Здесь уместно упомянуть коды Голомба или встроенную функцию популярного языка Perl : pack («w ») .

В литературе встречается и более тяжелая артиллерия упаковочных алгоритмов самого широкого спектра: арифметический, Хафман, LZW и т.д. Прогресс в этой области идет непрерывно. На практике в поисковых системах они используются редко: выигрыш невелик, а мощности процессора расходуются неэффективно.

В результате всех описанных ухищрений размер инвертированного файла, как правило, составляет от 7 до 30 процентов от размера исходного текста, в зависимости от подробности адресации.

Занесены в «Красную книгу»

Неоднократно предлагались другие, отличные от инвертированного и прямого поиска, алгоритмы и структуры данных. Это, прежде всего, суффиксные деревья (Манбер, Гоннет), а также сигнатуры (Фалуцос).

Первый из них функционировал и в интернете, будучи запатентованным алгоритмом поисковой системы OpenText . Мне доводилось встречать суффиксные индексы в отечественных поисковых системах. Второй - метод сигнатур - представляет собой преобразование документа к поблочным таблицам хеш-значений его слов - «сигнатуре» и последовательному просмотру «сигнатур» во время поиска.

Широкого распространения ни тот, ни другой метод не получили, а следовательно, не заслужили и подробного обсуждения в этой небольшой статье.

Математические модели

Приблизительно три из пяти поисковых систем и модулей функционируют безо всяких математических моделей. Точнее сказать, их разработчики не ставят перед собой задачу реализовывать абстрактную модель и/или не подозревают о существовании оной. Принцип здесь прост: лишь бы программа хоть что-нибудь находила. Абы как. А дальше сам пользователь разберется.

Однако, как только речь заходит о повышении качества поиска, о большом объеме информации, о потоке пользовательских запросов, кроме эмпирически проставленных коэффициентов полезным оказывается оперировать каким-нибудь, пусть и несложным, теоретическим аппаратом. Модель поиска - это некоторое упрощение реальности, на основании которого получается формула (сама по себе никому не нужная), позволяющая программе принять решение: какой документ считать найденным и как его ранжировать. После принятия модели коэффициенты часто приобретают физический смысл и становятся понятнее самому разработчику, да и подбирать их становится интереснее.

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

Булевское семейство моделей - по сути, первое, приходящее на ум программисту, реализующему полнотекстовый поиск. Есть слово - документ считается найденным, нет - не найденным. Собственно, классическая булевская модель - это мостик, связывающий теорию информационного поиска с теорией поиска и манипулирования данными.

Критика булевской модели, вполне справедливая, состоит в ее крайней жесткости и непригодности для ранжирования. Поэтому еще в 1957 году Джойс и Нидхэм предложили учитывать частотные характеристики слов, чтобы «... операция сравнения была бы отношением расстояния между векторами...» (Джойс, 1957). Векторная модель и была с успехом реализована в 1968 году отцом- основателем науки об информационном поиске Джерардом Солтоном (Gerard Salton ) в поисковой системе SMART (Salton "s Magical Automatic Retriever of Text ) .

Ранжирование в этой модели основано на естественном статистическом наблюдении, что чем больше локальная частота термина в документе (TF ) и больше «редкость» (т.е. обратная встречаемость в документах) термина в коллекции (IDF ) , тем выше вес данного документа по отношению к термину. Обозначение IDF ввела Карен Спарк-Джоунз в 1972 г. в статье про различительную силу (term specificity ) . С этого момента обозначение TF *IDF широко используется как синоним векторной модели.

Наконец, в 1977 году Робертсон и Спарк-Джоунз обосновали и реализовали вероятностную модель (предложенную еще в 1960-м (Марон)), также положившую начало целому семейству. Релевантность в этой модели рассматривается как вероятность того, что данный документ может оказаться интересным пользователю. При этом подразумевается наличие уже существующего первоначального набора релевантных документов, выбранных пользователем или полученных автоматически при каком-нибудь упрощенном предположении. Вероятность оказаться релевантным для каждого следующего документа рассчитывается на основании соотношения встречаемости терминов в релевантном наборе и в остальной, «нерелевантной» части коллекции. Хотя вероятностные модели обладают некоторым теоретическим преимуществом - ведь они располагают документы в порядке убывания «вероятности оказаться релевантным», - на практике они так и не получили большого распространения.

Я не собираюсь вдаваться в подробности и выписывать громоздкие формулы для каждой модели. Их сводка вместе с обсуждением занимает в сжатом виде 35 страниц в книжке «Современный информационный поиск» (Баэса-Ятес). Важно только заметить, что в каждом из семейств простейшая модель исходит из предположения о взаимонезависимости слов и обладает простым условием фильтрации: документы, не содержащие слова запроса, никогда не бывают найденными. Продвинутые («альтернативные») модели каждого из семейств не считают слова запроса взаимонезависимыми, а кроме того, позволяют находить документы, не содержащие ни одного слова из запроса.

Поиск «по смыслу»

Способность находить и ранжировать документы, не содержащие слов из запроса, часто считают признаком искусственного интеллекта или поиска по смыслу и относят априори к преимуществам модели. Вопрос о том, так это или нет, мы оставим за рамками данной статьи.

Для примера опишу лишь одну, пожалуй, самую популярную модель, работающую по смыслу. В теории информационного поиска данную модель принято называть латентно-семантическим индексированием (иными словами, выявлением скрытых смыслов). Эта алгебраическая модель основана на сингулярном разложении прямоугольной матрицы, ассоциирующей слова с документами. Элементом матрицы является частотная характеристика, отражающая степень связи слова и документа, например, TF *IDF . Вместо исходной миллионноразмерной матрицы авторы метода Фурнас и Дирвестер предложили использовать 50-150 «скрытых смыслов» , соответствующих первым главным компонентам ее сингулярного разложения.

Сингулярным разложением действительной матрицы A размеров m *n называется всякое ее разложение вида A = USV , где U m *m , V - ортогональная матрица размеров n *n , S - диагональная матрица размеров m *n , элементы которой sij = 0 , если i не равно j , и sii = si >= 0 . Величины si называются сингулярными числами матрицы и равны арифметическим значениям квадратных корней из соответствующих собственных значений матрицы AAT . В англоязычной литературе сингулярное разложение принято называть SVD -разложением.

Давным-давно доказано (Экарт), что если оставить в рассмотрении первые k сингулярных чисел (остальные приравнять к нулю), мы получим ближайшую из всех возможных аппроксимацию исходной матрицы ранга k (в некотором смысле ее «ближайшую семантическую интерпретацию ранга k »). Уменьшая ранг, мы отфильтровываем нерелевантные детали; увеличивая, пытаемся отразить все нюансы структуры реальных данных.

Операции поиска или нахождения похожих документов резко упрощаются, так как каждому слову и каждому документу сопоставляется относительно короткий вектор из k смыслов (строки и столбцы соответствующих матриц). Однако по причине малой осмысленности «смыслов» или по какой иной , но использование LSI в лоб для поиска так и не получило распространения. Хотя во вспомогательных целях (автоматическая фильтрация, классификация, разделение коллекций, предварительное понижение размерности для других моделей) этот метод, по-видимому, находит применение.

Оценка качества

«...проверка устойчивости показала, что перекрытие релевантных документов между любыми двумя асессорами примерно 40% в среднем <...> точность и полнота, измеренная между асессорами, около 65% <...> Это накладывает практическую верхнюю границу на качество поиска в районе 65%...»

(«What we have learned, and not learned, from TREC», Donna Harman)

Какова бы ни была модель, поисковая система нуждается в «тюнинге» - оценке качества поиска и настройке параметров. Оценка качества - идея, фундаментальная для теории поиска. Ибо именно благодаря оценке качества можно говорить о применимости или неприменимости той или иной модели и даже обсуждать их теоретические аспекты.

В частности, одним из естественных ограничений качества поиска служит наблюдение, вынесенное в эпиграф: мнения двух «асессоров» (специалистов, выносящих вердикт о релевантности) в среднем не совпадают друг с другом в очень большой степени! Отсюда вытекает и естественная верхняя граница качества поиска, ведь качество измеряется по итогам сопоставления с мнением асессора.

«...Я был потрясен, когда кто-то из Google сказал мне, что они вообще не используют ничего наработанного в TREC , потому что все алгоритмы, заточенные на дорожке “произвольных запросов”, спам расшибает вдребезги...»

Пора вернуться к теме, с которой началась эта статья: что же изменилось в поисковых системах за последнее время?

Прежде всего, стало очевидно, что поиск в вебе не может быть сколько-нибудь корректно выполнен, будучи основан на анализе (пусть даже сколь угодно глубоком, семантическом и т.п.) одного лишь текста документа. Ведь внетекстовые (off -page ) факторы играют не меньшую, а порой и бо́льшую роль, чем текст самой страницы. Положение на сайте, посещаемость, авторитетность источника, частота обновления, цитируемость страницы и ее авторов - все эти факторы невозможно сбрасывать со счета.

Cтав основным источником получения справочной информации для человеческого вида, поисковые системы стали основным источником трафика для интернет-сайтов. Как следствие, они немедленно подверглись «атакам» недобросовестных авторов, желающих любой ценой оказаться в первых страницах результатов поиска. Искусственная генерация входных страниц, насыщенных популярными словами, техника клоакинга, «слепого текста» и многие другие приемы, предназначенные для обмана поисковых систем, мгновенно заполонили интернет.

Кроме проблемы корректного ранжирования создателям поисковых систем в интернете пришлось решать задачу обновления и синхронизации колоссальной по размеру коллекции с гетерогенными форматами, способами доставки, языками, кодировками, массой бессодержательных и дублирующихся текстов. Необходимо поддерживать базу в состоянии максимальной свежести (на самом деле достаточно создавать иллюзию свежести - но это тема отдельного разговора), может быть, учитывать индивидуальные и коллективные предпочтения пользователей. Многие из этих задач никогда прежде не рассматривались в традиционной науке информационного поиска.

Для примера рассмотрим пару таких задач и практических способов их решения в поисковых системах для интернета.

Качество ранжирования

Не все внетекстовые критерии полезны в равной мере. Именно ссылочная популярность и производные от нее оказались решающим фактором, поменявшим в 1999-2000 гг. мир поисковых систем и вернувшим им преданность пользователей. Так как именно с ее помощью поисковые системы научились прилично и самостоятельно (без подпорок из вручную отредактированных результатов) ранжировать ответы на короткие частотные запросы, составляющие значительную часть поискового потока.

Простейшая идея глобального (т.е. статического) учета ссылочной популярности состоит в подсчете числа ссылок, указывающих на страницы. Примерно то, что в традиционном библиотековедении называют индексом цитирования. Этот критерий использовался в поисковых системах еще до 1998 года. Однако он легко подвергается накрутке, кроме того, он не учитывает вес самих источников.

Естественным развитием этой идеи можно считать предложенный Брином и Пейджем в 1998 году алгоритм PageRank - итеративный алгоритм, подобный тому, что используется в задаче определения победителя в шахматном турнире по швейцарской системе. В сочетании с поиском по лексике ссылок, указывающих на страницу (старая, весьма продуктивная идея, которая использовалась в гипертекстовых поисковых системах еще в 80-е годы), эта мера позволила резко повысить качество поиска.

Немного раньше, чем PageRank , был предложен локальный (т.е. динамический, основанный на запросе) алгоритм учета популярности - HITS (Кляйнберг), который не используется на практике в основном из-за вычислительной дороговизны. Примерно по той же причине, что и локальные (т.е. динамические) методы, оперирующие словами.

Оба алгоритма, их формулы, условия сходимости подробно описаны, в том числе и в русскоязычной литературе. Отмечу только, что расчет статической популярности не является самоценной задачей, он используется в многочисленных вспомогательных целях: определение порядка обхода документов, ранжирование поиска по тексту ссылок и т.д. Формулы расчета популярности постоянно улучшают, в них вносят учет дополнительных факторов - тематической близости документов (например, популярная поисковая система www .teoma .com ), их структуры и т.п., позволяющих понизить влияние непотизма. Интересной отдельной темой является эффективная реализация соответствующих структур данных (Бхарат).

Качество индекса

Хотя размер базы в интернете на поверхностный взгляд не кажется критическим фактором, это не так. Недаром рост посещаемости таких машин, как Google и Fast , хорошо коррелирует именно с ростом их баз. Основная причины: «редкие» запросы, то есть те, по которым находится менее 100 документов, составляют в сумме около 30% от всей массы поисков - весьма значительную часть. Этот факт делает размер базы одним из самых критичных параметров системы.

Однако рост базы кроме технических проблем с дисками и серверами ограничивается и логическими: необходимостью адекватно реагировать на мусор, повторы и т.п. Не могу удержаться, чтобы не описать остроумный алгоритм, применяемый в современных поисковых системах для того, чтобы исключить «очень похожие документы».

Происхождение копий документов в интернете может быть различным. Один и тот же документ на одном и том же сервере может отличаться по техническим причинам: быть представлен в разных кодировках и форматах, содержать переменные вставки - рекламу или текущую дату.

Широкий класс документов в вебе активно копируется и редактируется - ленты новостных агентств, документация и юридические документы, прейскуранты магазинов, ответы на часто задаваемые вопросы и т.д. Популярные типы изменений: корректура, реорганизация, ревизия, реферирование, раскрытие темы и т.д. Наконец, публикации могут быть скопированы с нарушением авторских прав и изменены злонамеренно с целью затруднить их обнаружение.

Кроме того, индексация поисковыми машинами страниц, генерируемых из баз данных, порождает еще один распространенный класс внешне мало отличающихся документов: анкеты, форумы, страницы товаров в электронных магазинах.

Очевидно, что с полными повторами проблем особых нет, достаточно сохранять в индексе контрольную сумму текста и игнорировать все остальные тексты с такой же контрольной суммой. Однако этот метод не работает для выявления хотя бы чуть-чуть измененных документов.

Для решения этой задачи Уди Манбер (автор известной программы приближенного прямого поиска agrep ) в 1994 году предложил идею, а Андрей Бродер в 1997-м придумал название и довел до ума алгоритм «шинглов» (от слова shingles - «черепички, чешуйки»). Вот его примерное описание.

Для каждого десятисловия текста рассчитывается контрольная сумма (шингл). Десятисловия идут внахлест, с перекрытием, так, чтобы ни одно не пропало. А затем из всего множества контрольных сумм (очевидно, что их столько же, сколько слов в документе минус 9) отбираются только те, которые делятся на, скажем, 25. Поскольку значения контрольных сумм распределены равномерно, критерий выборки никак не привязан к особенностям текста. Ясно, что повтор даже одного десятисловия - весомый признак дублирования, если же их много, скажем, больше половины, то с определенной (несложно оценить вероятность) уверенностью можно утверждать: копия найдена! Ведь один совпавший шингл в выборке соответствует примерно 25 совпавшим десятисловиям в полном тексте!

Очевидно, что так можно определять процент перекрытия текстов, выявлять все его источники и т.п. Этот изящный алгоритм воплотил давнюю мечту доцентов: отныне мучительный вопрос «у кого студент списывал этот курсовик» можно считать решенным! Легко оценить долю плагиата в любой статье .

Чтобы у читателя не создалось впечатление, что информационный поиск - исключительно западная наука, упомяну про альтернативный алгоритм определения почти-дубликатов, придуманный и воплощенный у нас в Яндексе (Ильинский). В нем используется тот факт, что большинство поисковых систем уже обладают индексом в виде инвертированного файла (или инвертированным индексом), и этот факт удобно использовать в процедуре нахождения почти-дубликатов.

Цена одного процента

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

Для того чтобы справиться с этой проблемой, индекс разбивают на части и раскладывают по десяткам, сотням и даже тысячам компьютеров. Сами компьютеры начиная с 1997 года (поисковая система Inktomi ) представляют собой обычные 32-битные машины (Linux , Solaris , FreeBSD , Win 32 ) с соответствующими ограничениями по цене и производительности. Исключением из общего правила осталась лишь AltaVista , которая с самого начала использовала относительно «большие» 64-битные компьютеры Alpha .

Поисковые системы для интернета (и вообще все большие поисковые сиcтемы) могут ускорять свою работу при помощи техник эшелонирования и прюнинга.

Первая техника состоит в разделении индекса на заведомо более релевантную и менее релевантную части. Поиск сначала выполняется в первой части, а затем, если ничего не найдено или найдено мало, поисковая система обращается ко второй части индекса. Прюнинг (от англ. pruning - «отсечение, сокращение») состоит в том, чтобы динамически прекращать обработку запроса после накопления достаточного количества релевантной информации. Бывает еще статический прюнинг, когда на основании некоторых допущений индекс сокращается за счет таких документов, которые заведомо никогда не будут найдены.

Отдельная проблема - организовать бесперебойную работу многокомпьютерных комплексов, бесшовное обновление индекса, устойчивость к сбоям и задержкам с ответами отдельных компонент. Для общения между поисковыми серверами и серверами, собирающими отклики и формирующими страницу выдачи, разрабатываются специальные протоколы.

Заметьте, что один процент производительности (скажем, неудачно написанный оператор в каком-нибудь цикле) для десятитысячнокомпьютерной системы стоит примерно ста компьютеров. Поэтому можно себе представить, как вычищается код, отвечающий за поиск и ранжирование результатов, как оптимизируется использование всех возможных ресурсов: каждого байта памяти, каждого обращения к диску.

Решающее значение приобретает продумывание архитектуры всего комплекса с самого начала, так как любые изменения - например, добавление необычного фактора при ранжировании или сложного источника данных - становятся исключительно болезненной и сложной процедурой. Очевидно, системы, стартующие позже, имеют в этой ситуации преимущество. Но инертность пользователей весьма высока: так, например, требуется два-четыре года, чтобы сформированная многомиллионная аудитория сама, пусть и медленно, перешла на непривычную поисковую систему, даже при наличии у нее неоспоримых преимуществ. В условиях жесткой конкуренции это порой неосуществимо.

Syntactic Clustering of the Web
Andrei Z. Broder, Steven C. Glassman, Mark S. Manasse
WWW6, 1997

The Approximation of One Matrix by Another of Lower Rank
Eckart, G. Young Psychometrika, 1936

Description and Performance Analysis of Signature File Methods
Faloutsos, S. Christodoulakis
ACM TOIS, 1987

Information Retrieval Using a Singular Value Decomposition Model of Latent Semantic Structure
G.W. Furnas, S. Deerwester, S.T. Dumais, T.K. Landauer, R. A. Harshman, L.A. Streeter and K.E. Lochbaum
ACM SIGIR, 1988

Examples of PAT Applied to the Oxford English Dictionary
Gonnet G.
University of Waterloo, 1987

The Thesaurus Approach to Information Retrieval
T. Joyce and R.M. Needham
American Documentation, 1958

An Efficient Method to Detect Duplicates of Web Documents with the Use of Inverted Index
S. Ilyinsky, M. Kuzmin, A. Melkov, I. Segalovich
WWW2002, 2002

Suffix Arrays: A New Method for On-line String Searches
U. Manber, G. Myers
1st ACM-SIAM Symposium on Discrete Algorithms, 1990

Finding Similar Files in a Large File System
U. Manber
USENIX Conference, 1994

On Relevance, Probabilistic Indexing and Information Retrieval
M.E. Maron and J.L. Kuhns
Journal of the ACM, 1960

Relevance Weighting of Search Terms
S.E. Robertson and K. Sparck Jones
JASIS, 1976

Algorithms in C++
Robert Sedgewick
Addison-Wesley, 1992

A Statistical Interpretation of Term Specificity and Its Application in Retrieval
K. Sparck Jones
Journal of Documentation, 1972

Natural Language Information Retrieval
Tomek Strzalkowski (ed.)
Kluwer Academic Publishers, 1999

Симфония, или Словарь-указатель к Священному Писанию Ветхого и Нового Завета
Составители М.А. Бондарев, М.С. Косьян, С.Ю. Косьян
Изд-во Московской патриархии, 1995

Глоссарий

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

Булевская модель (boolean , булева, булевая, двоичная) - модель поиска, опирающаяся на операции пересечения, объединения и вычитания множеств.

Векторная модель - модель информационного поиска, рассматривающая документы и запросы как векторы в пространстве слов, а релевантность - как расстояние между ними.

Вероятностная модель - модель информационного поиска, рассматривающая релевантность как вероятность соответствия данного документа запросу на основании вероятностей соответствия слов данного документа идеальному ответу.

Внетекстовые критерии (off -page , внестраничные) - критерии ранжирования документов в поисковых системах, учитывающие факторы, не содержащиеся в тексте самого документа и не извлекаемые оттуда никаким образом.

Входные страницы (doorways , hallways ) - страницы, созданные для искусственного повышения ранга в поисковых системах (поискового спама). При попадании на них пользователя перенаправляют на целевую страницу.

Дизамбигуация (tagging , part of speech disambiguation , таггинг) - выбор одного из нескольких омонимов c помощью контекста; в английском языке часто сводится к автоматическому назначению грамматической категории «часть речи».

Дубликаты (duplicates ) - разные документы с идентичным, с точки зрения пользователя, содержанием; приблизительные дубликаты (near duplicates , почти-дубликаты), в отличие от точных дубликатов, содержат незначительные отличия.

Иллюзия свежести - эффект кажущейся свежести, достигаемый поисковыми системами в интернете за счет более регулярного обхода тех документов, которые чаще находятся пользователями.

Инвертированный файл (inverted file , инверсный файл, инвертированный индекс, инвертированный список) - индекс поисковой системы, в котором перечислены слова коллекции документов, а для каждого слова перечислены все места, в которых оно встретилось.

Индекс (index , указатель) - см. Индексирование.

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

Индексирование (indexing , индексация) - процесс составления или приписывания указателя (индекса) - служебной структуры данных, необходимой для последующего поиска.

Информационный поиск (Information Retrieval , IR ) - поиск неструктурированной информации, единицей представления которой является документ произвольных форматов. Предметом поиска выступает информационная потребность пользователя, неформально выраженная в поисковом запросе. И критерий поиска, и его результаты не детерминированы. Этими признаками информационный поиск отличается от «поиска данных», который оперирует набором формально заданных предикатов, имеет дело со структурированной информацией и чей результат всегда детерминирован. Теория информационного поиска изучает все составляющие процесса поиска, а именно предварительную обработку текста (индексирование), обработку и исполнение запроса, ранжирование, пользовательский интерфейс и обратную связь.

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

Контрастность термина - см. Различительная сила.

Латентно-семантическое индексирование - запатентованный алгоритм поиска по смыслу, идентичный факторному анализу. Основан на сингулярном разложении матрицы связи слов с документами.

Лемматизация (lemmatization , нормализация) - приведение формы слова к словарному виду, то есть лемме.

Накрутка поисковых систем - см. Спам поисковых систем.

Непотизм - вид спама поисковых систем, установка авторами документов взаимных ссылок с единственной целью поднять свой ранг в результатах поиска.

Обратная встречаемость в документах (inverted document frequency , IDF , обратная частота в документах, обратная документная частота) - показатель поисковой ценности слова (его различительной силы); «обратная» говорят, потому что при вычислении этого показателя в знаменателе дроби обычно стоит число документов, содержащих данное слово.

Обратная связь - отклик пользователей на результат поиска, их суждения о релевантности найденных документов, зафиксированные поисковой системой и использующиеся, например, для итеративной модификации запроса. Следует отличать от псевдообратной связи - техники модификации запроса, в которой несколько первых найденных документов автоматически считаются релевантными.

Омонимия - см. Полисемия.

Основа - часть слова, общая для набора его словообразовательных и словоизменительных (чаще) форм.

Поиск по смыслу - алгоритм информационного поиска, способный находить документы, не содержащие слов запроса.

Поиск похожих документов (similar document search ) - задача информационного поиска, в которой в качестве запроса выступает сам документ и необходимо найти документы, максимально напоминающие данный.

Поисковая система (search engine , SE , информационно-поисковая система, ИПС, поисковая машина, машина поиска, «поисковик», «искалка») - программа, предназначенная для поиска информации, обычно текстовых документов.

Поисковое предписание (query , запрос) - обычно строчка текста.

Полисемия (polysemy , многозначность) - наличие нескольких значений у одного и того же слова.

Полнота (recall , охват) - доля релевантного материала, заключенного в ответе поисковой системы, по отношению ко всему релевантному материалу в коллекции.

Почти-дубликаты (near -duplicates , приблизительные дубликаты) - см. Дубликаты.

Прюнинг (pruning ) - отсечение заведомо нерелевантных документов при поиске с целью ускорения выполнения запроса.

Прямой поиск - поиск непосредственно по тексту документов, без предварительной обработки (без индексирования).

Псевдообратная связь - см. Обратная связь.

Различительная сила слова (term specificity , term discriminating power , контрастность, различительная сила) - степень ширины или узости слова. Слишком широкие термины в поиске приносят слишком много информации, при этом существенная часть ее бесполезна. Слишком узкие термины помогают найти слишком мало документов, хотя и более точных.

Регулярное выражение (regular expression , pattern , «шаблон», реже «трафарет», «маска») - способ записи поискового предписания, позволяющий определять пожелания к искомому слову, его возможные написания, ошибки и т.д. В широком смысле - язык, позволяющий задавать запросы неограниченной сложности.

Релевантность (relevance , relevancy ) - соответствие документа запросу.

Сигнатура (signature , подпись) - множество хеш-значений слов некоторого блока текста. При поиске по методу сигнатур все сигнатуры всех блоков коллекции просматриваются последовательно в поисках совпадений с хеш-значениями слов запроса.

Словоизменение (inflection ) - образование формы определенного грамматического значения, обычно обязательного в данном грамматическом контексте, принадлежащей к фиксированному набору форм (парадигме), характерному для слов данного типа. В отличие от словообразования никогда не приводит к смене типа и порождает предсказуемое значение. Словоизменение имен называют склонением (declension ) , а глаголов - спряжением (conjugation ) .

Словообразование (derivation ) - образование слова или основы из другого слова или основы.

Смыслоразличительный - см. Различительная сила.

Спам поисковых систем (spam , спамдексинг, накрутка поисковых систем) - попытка воздействовать на результат информационного поиска со стороны авторов документов.

Статическая популярность - см. PageRank .

Стемминг - процесс выделения основы слова.

Стоп-слова (stop -words ) - те союзы, предлоги и другие частотные слова, которые данная поисковая система исключила из процесса индексирования и поиска для повышения своей производительности и/или точности поиска.

Суффиксные деревья, суффиксные массивы (suffix trees , suffix arrays , PAT -arrays ) - индекс, основанный на представлении всех значимых суффиксов текста в структуре данных, известной как «бор» (trie ) . Суффиксом в этом индексе называют любую «подстроку», начинающуюся с некоторой позиции текста (текст рассматривается как одна непрерывная строка) и продолжающуюся до его конца. В реальных приложениях длина суффиксов ограничена, а индексируются только значимые позиции - например, начала слов. Этот индекс позволяет выполнять более сложные запросы, чем индекс, построенный на инвертированных файлах.

Токенизация (tokenization , lexical analysis , графематический анализ, лексический анализ) - выделение в тексте слов, чисел и иных токенов, в том числе, например, нахождение границ предложений.

Точность (precision ) - доля релевантного материала в ответе поисковой системы.

Хеш-значение (hash -value ) - значение хеш-функции (hash -function ) , преобразующей данные произвольной длины (обычно строчку) в число фиксированного порядка.

Частота (слова) в документах (document frequency , встречаемость в документах, документная частота) - число документов в коллекции, содержащих данное слово.

Частота термина (term frequency , TF ) - частота употребления слова в документе.

Шингл (shingle ) - хеш-значение непрерывной последовательности слов текста фиксированной длины.

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

TF *IDF - численная мера соответствия слова и документа в векторной модели; тем больше, чем относительно чаще слово встретилось в документе и относительно реже - в коллекции.

Интернет необходим многим пользователям для того, чтобы получать ответы на запросы (вопросы), которые они вводят.

Если бы не было поисковых систем, пользователям пришлось бы самостоятельно искать нужные сайты, запоминать их, записывать. Во многих случаях найти «вручную» что-то подходящее было бы весьма сложно, а часто и просто невозможно.

За нас всю эту рутинную работу по поиску, хранению и сортировке информации на сайтах .

Начнем с известных поисковиков Рунета.

Поисковые системы в Интернете на русском

1) Начнем с отечественной поисковой системы. Яндекс работает не только в России, но также работает в Белоруссии и Казахстане, в Украине, в Турции. Также есть Яндекс на английском языке.

2) Поисковик Google пришел к нам из Америки, имеет русскоязычную локализацию:

3)Отечественный поисковик Майл ру, который одновременно представляет социальную сеть ВКонтакте, Одноклассники, также Мой мир, известные Ответы Mail.ru и другие проекты.

4) Интеллектуальная поисковая система

Nigma (Нигма) http://www.nigma.ru/

С 19 сентября 2017 года “интеллектуалка” nigma не работает. Она перестала для её создателей представлять финансовый интерес, они переключились на другой поисковик под названием CocCoc.

5) Известная компания Ростелеком создала поисковую систему Спутник.

Есть поисковик Спутник, разработанный специально для детей, про который я писала .

6) Рамблер был одним из первых отечественных поисковиков:

В мире есть другие известные поисковики:

  • Bing,
  • Yahoo!,
  • Baidu,
  • Ecosia,

Попробуем разобраться, как же работает поисковая система, а именно, как происходит индексация сайтов, анализ результатов индексации и формирование поисковой выдачи. Принципы работы поисковых систем примерно одинаковые: поиск информации в Интернете, ее хранение и сортировка для выдачи в ответ на запросы пользователей. А вот алгоритмы, по которым работают поисковики, могут сильно отличаться. Эти алгоритмы держатся в тайне и запрещено ее разглашение.

Введя один и тот же запрос в поисковые строки разных поисковиков, можно получить разные ответы. Причина в том, что все поисковики используют собственные алгоритмы.

Цель поисковиков

В первую очередь нужно знать о том, что поисковики – это коммерческие организации. Их цель – получение прибыли. Прибыль можно получать с контекстной рекламы, других видов рекламы, с продвижения нужных сайтов на верхние строчки выдачи. В общем, способов много.

Зависит от того, какой размер аудитории у него, то есть, сколько человек пользуется данной поисковой системой. Чем больше аудитория, тем большему числу людей будет показываться реклама. Соответственно, стоить эта реклама будет больше. Увеличить аудиторию поисковики могут за счет собственной рекламы, а также привлекая пользователей за счет улучшения качества своих сервисов, алгоритма и удобства поиска.

Самое главное и сложное здесь – это разработка полноценного функционирующего алгоритма поиска, который бы предоставлял релевантные результаты на большинство пользовательских запросов.

Работа поисковика и действия вебмастеров

Каждый поисковик обладает своим собственным алгоритмом, который должен учитывать огромное количество разных факторов при анализе информации и составлении выдачи в ответ на запрос пользователя:

  • возраст того или иного сайта,
  • характеристики домена сайта,
  • качество контента на сайте и его виды,
  • особенности навигации и структуры сайта,
  • юзабилити (удобство для пользователей),
  • поведенческие факторы (поисковик может определить, нашел ли пользователь то, что он искал на сайте или пользователь вернулся снова в поисковик и там опять ищет ответ на тот же запрос)
  • и т.д.

Все это нужно именно для того, чтобы выдача по запросу пользователя была максимально релевантной, удовлетворяющей запросы пользователя. При этом алгоритмы поисковиков постоянно меняются, дорабатываются. Как говорится, нет предела совершенству.

С другой стороны, вебмастера и оптимизаторы постоянно изобретают новые способы продвижения своих сайтов, которые далеко не всегда являются честными. Задача разработчиков алгоритма поисковых машин – вносить в него изменения, которые бы не позволяли «плохим» сайтам нечестных оптимизаторов оказываться в ТОПе.

Как работает поисковая система?

Теперь о том, как происходит непосредственная работа поисковой системы. Она состоит как минимум из трех этапов:

  • сканирование,
  • индексирование,
  • ранжирование.

Число сайтов в интернете достигает просто астрономической величины. И каждый сайт – это информация, информационный контент, который создается для читателей (живых людей).

Сканирование

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

Поисковые роботы – это программы, которые в автоматическом режиме посещают сайты и собирают с них информацию. Сканирование может быть первичным (робот заходит на новый сайт в первый раз). После первичного сбора информации с сайта и занесения его в базу данных поисковика, робот начинает с определенной регулярностью заходить на его страницы. Если произошли какие-то изменения (добавился новый контент, удалился старый), то все эти изменения будут поисковиком зафиксированы.

Главная задача поискового паука – найти новую информацию и отдать ее поисковику на следующий этап обработки, то есть, на индексирование.

Индексирование

Поисковик может искать информацию лишь среди тех сайтов, которые уже занесены в его базу данных (проиндексированы им). Если сканирование – это процесс поиска и сбора информации, которая имеется на том или ином сайте, то индексация – процесс занесения этой информации в базу данных поисковика. На этом этапе поисковик автоматически принимает решение, стоит ли заносить ту или иную информацию в свою базу данных и куда ее заносить, в какой раздел базы данных. Например, Google индексирует практически всю информацию, найденную его роботами в Интернете, а Яндекс более привередлив и индексирует далеко не все.

Для новых сайтов этап индексирования может быть долгим, поэтому посетителей из поисковых систем новые сайты могут ждать долго. А новая информация, которая появляется на старых, раскрученных сайтах, может индексироваться почти мгновенно и практически сразу попадать в «индекс», то есть, в базу данных поисковиков.

Ранжирование

Ранжирование – это выстраивание информации, которая была ранее проиндексирована и занесена в базу того или иного поисковика, по рангу, то есть, какую информацию поисковик будет показывать своим пользователям в первую очередь, а какую информацию помещать «рангом» ниже. Ранжирование можно отнести к этапу обслуживания поисковиком своего клиента – пользователя.

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

В интернете, на различных сайтах пользователю предлагается большой объем разной информации. Для получения необходимых сведений, поиска ответов на вопросы созданы поисковые системы. Услышав это словосочетание, многие думают о Google, «Яндексе». Однако поисковых систем в интернете намного больше.

Что такое поисковая система

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

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

Классификация поисковых систем

Существующие поисковые системы классифицируются на несколько видов. В первую очередь стоит назвать традиционные поисковики. У таких поисковых систем принципы работы ориентированы на поиск информации на огромном количестве существующих сайтов. Поисковые системы еще бывают на отдельных интернет-ресурсах:

  • в интернет-магазинах (для поиска нужных товаров);
  • на форумах и блогах (для поиска сообщений);
  • на информационных сайтах (для поиска статей на нужную тематику или новостей) и т. д.

Поисковые системы еще подразделяют с учетом географического признака. В такой классификации есть 3 группы поисковиков:

  1. Глобальные. Поиск ведется по всему миру. Лидером в этой группе является поисковик Google. Ранее существовали такие поисковые системы, как Inktomi, AltaVista и др.
  2. Региональные. Поиск осуществляется по стране или группе стран, которых объединяет один язык. Региональные поисковики широко распространены. Их пример в России - «Яндекс», Rambler.
  3. Местные. Поиск ведется в конкретном городе. Пример такой поисковой системы - «Томск.ру».

Составляющие элементы поисковиков

В любом поисковике можно выделить 3 составляющих элемента, определяющих принципы работы поисковой системы:

  • робота (индексатора, спайдера, краулера);
  • базу данных;
  • обработчика запросов.

Робот - это специальная программа, предназначение которой заключается в формировании базы данных. В базе данных хранится и сортируется вся собираемая информация. Обработчик запросов, называемый также клиентом, работает с пользовательскими запросами. Он имеет доступ к базе данных. Не всегда клиент располагают на одном компьютере. Обработчик запросов бывает разнесен по нескольким физически не связанным электронно-вычислительным машинам.

Все существующие системы работают по единому принципу. Рассмотрим, к примеру, функционирование традиционных поисковиков, предназначенных для интернета. Функционирование робота схоже с действиями обычного пользователя. Эта программа периодически обходит все сайты, добавляет новые страницы и интернет-ресурсы в базу данных. Данный процесс именуется индексацией.

Когда пользователь в интернете в поисковую строку вводит определенный запрос, работать начинает клиент. Программа обращается к существующей базе данных и по ключевым словам формирует выдачу. Ссылки поисковая система предоставляет пользователю в определенной последовательности. Они сортируются по мере соответствия запросу, т. е. учитывается релевантность.

У каждого поисковика свой способ определения релевантности. Если пользователь отправит конкретный запрос в разные системы, то он получит не совсем одинаковые выдачи. Алгоритм определения релевантности хранится в секрете.

Подробнее о релевантности

Если говорить простыми словами, то релевантностью называется соответствие введенного в поиск слова или сочетания слов конкретным ссылкам в выдаче. На позиции документов в списке влияет несколько нюансов:

  1. Наличие слов, введенных в поиск, в документах. Этот нюанс очевиден. Если в документе есть слова из введенного пользователем запроса, то это значит, что данный документ соответствует условиям поиска.
  2. Частота вхождения слов. Чем чаще употребляются ключевые слова в документе, тем он будет выше в списке выдачи. Однако не все так просто. Слишком частое употребление слов может быть признаком некачественного контента для поисковой машины.

Алгоритм определения релевантности достаточно сложен. Несколько лет назад в выдачу могли попадать ссылки, содержащие нужные ключевые слова, но при этом не соответствующие им по содержанию. В настоящее время принципы работы поисковых систем усложнены. Теперь роботы могут анализировать полностью весь текст. В работу поисковиков заложен учет огромного количества различных факторов. Благодаря этому выдача формируется из наиболее качественных, релевантных ссылок.

Как правильно формулировать запросы

Еще в школе нас учили правильно задавать вопросы. От этого зависит то, какие ответы мы будем получать. Однако это правило не нужно соблюдать при использовании поисковых систем. Для современных поисковиков не играет никакой роли то, в каком числе или падеже пишет человек свой запрос. В любом случае выдача будет включать в себя одинаковые результаты.

Четкая формулировка вопроса поисковым системам не нужна. Пользователю нужно только правильно подбирать ключевые слова. Рассмотрим пример. Нам нужно найти текст песни «День без тебя», которую исполняет известная женская поп-группа «Виа-Гра». При обращении в поисковую систему необязательно называть группу, указывать, что это песня. Достаточно написать «день без тебя текст». Соблюдать регистры, знаки препинания не требуется. Эти нюансы не учитываются поисковиками.

Ведущей поисковой системой в мире является Google. Она была основана в 1998 году. Система очень популярна, что подтверждается аналитическими сведениями. Около 70 % запросов, поступающих в интернет, обрабатывает именно Google. База поисковика огромна. Проиндексировано более 60 триллионов различных документов. Google привлекает пользователей простым интерфейсом. На главной странице расположены логотип и строка поиска. Эта особенность позволяет назвать Google одним из самых минималистичных поисковиков.

На втором месте в рейтинге популярных поисковых систем находится Bing. Она появилась в том же году, что и Google. Создателем этого поисковика является известная международная корпорация Microsoft. Более низкие позиции в рейтинге занимают Baidu, Yahoo!, AOL, Excite, Ask.

Что популярно в России

Среди поисковых систем в России наибольшей популярностью пользуется «Яндекс». Этот сервис появился в 1997 году. Первое время им занималась российская компания CompTek International. Немного позднее появилась компания «Яндекс», которая продолжила заниматься поисковой системой. Поисковик за годы существования завоевал огромную популярность. В нем возможен поиск на нескольких языках - на русском, белорусском, украинском, татарском, казахском, английском, немецком, французском, турецком.

Из статистических сведений известно, что «Яндекс» интересен более 50% пользователей рунета. Более 40 % людей предпочитают Google. Примерно 3% пользователей остановили свой выбор на Mail.ru - русскоязычном интернет-портале.

Защищенные поисковики

Обычные поисковые системы, являющиеся привычными для нас, не совсем подходят детям. Юные пользователи интернета могут случайно найти какие-нибудь материалы для взрослых, информацию, способную навредить психике. По этой причине были созданы специальные защищенные поисковые системы. В их базах хранится только безопасный контент для детей.

Пример одного такого поисковика - «Спутник.Дети». Этот сервис является довольно молодым. Его создала компания «Ростелеком» в 2014 году. Главная страница поисковика ярко и интересно оформлена. На ней представлен широкий перечень отечественных и зарубежных мультфильмов для детей разных возрастов. Дополнительно на главной странице размещены познавательные ссылки, относящиеся к нескольким рубрикам - «Спорт», «Хочу все знать», «Сделай сам», «Игры», «Технологии», «Школьное», «Природа».

Другой пример защищенной детской поисковой системы - Agakids.ru. Это абсолютно безопасный ресурс. Как работает поисковая система? Робот настроен таким образом, что он обходит только те сайты, которые относятся к детской тематике или являются полезными для родителей. В базу поисковой машины попадают ресурсы с мультфильмами, книгами, учебной литературой, играми, раскрасками. Родители, используя Agakids.ru, могут для себя находить сайты по воспитанию, здоровью детей.

В заключение стоит отметить, что поисковики - это сложные системы. Перед ними стоит множество проблем - проблемы спама, определения релевантности документов, отсеивания некачественного контента, анализа документов, не содержащих текстовой информации. По этой причине в работу поисковых систем интернета разработчики внедряют новые подходы, алгоритмы, являющиеся коммерческой тайной.

Что это

DuckDuckGo - это довольно известная поисковая система с открытым исходным кодом. Серверы находятся в США. Кроме собственного робота, поисковик использует результаты других источников: Yahoo, Bing, «Википедии».

Чем лучше

DuckDuckGo позиционирует себя как поиск, обеспечивающий максимальную приватность и конфиденциальность. Система не собирает никаких данных о пользователе, не хранит логи (нет истории поиска), использование файлов cookie максимально ограничено.

DuckDuckGo не собирает личную информацию пользователей и не делится ею. Это наша политика конфиденциальности.

Гэбриел Вайнберг (Gabriel Weinberg), основатель DuckDuckGo

Зачем это вам

Все крупные поисковые системы стараются персонализировать поисковую выдачу на основе данных о человеке перед монитором. Этот феномен получил название «пузырь фильтров»: пользователь видит только те результаты, которые согласуются с его предпочтениями или которые система сочтёт таковыми.

Формирует объективную картину, не зависящую от вашего прошлого поведения в Сети, и избавляет от тематической рекламы Google и «Яндекса», основанной на ваших запросах. При помощи DuckDuckGo легко искать информацию на иностранных языках, тогда как Google и «Яндекс» по умолчанию отдают предпочтение русскоязычным сайтам, даже если запрос введён на другом языке.


Что это

not Evil - система, осуществляющая поиск по анонимной сети Tor. Для использования нужно зайти в эту сеть, например запустив специализированный .

not Evil не единственный поисковик в своём роде. Есть LOOK (поиск по умолчанию в Tor-браузере, доступен из обычного интернета) или TORCH (один из самых старых поисковиков в Tor-сети) и другие. Мы остановились на not Evil из-за недвусмысленного намёка на Google (достаточно посмотреть на стартовую страницу).

Чем лучше

Ищет там, куда Google, «Яндексу» и другим поисковикам вход закрыт в принципе.

Зачем это вам

В сети Tor много ресурсов, которые невозможно встретить в законопослушном интернете. И их число будет расти по мере того, как ужесточается контроль властей над содержанием Сети. Tor - это своеобразная сеть внутри Сети со своими социалками, торрент-трекерами, СМИ, торговыми площадками, блогами, библиотеками и так далее.

3. YaCy

Что это

YaCy - децентрализованная поисковая система, работающая по принципу сетей P2P. Каждый компьютер, на котором установлен основной программный модуль, сканирует интернет самостоятельно, то есть является аналогом поискового робота. Полученные результаты собираются в общую базу, которую используют все участники YaCy.

Чем лучше

Здесь сложно говорить, лучше это или хуже, так как YaCy - это совершенно иной подход к организации поиска. Отсутствие единого сервера и компании-владельца делает результаты полностью независимыми от чьих-то предпочтений. Автономность каждого узла исключает цензуру. YaCy способен вести поиск в глубоком вебе и неиндексируемых сетях общего пользования.

Зачем это вам

Если вы сторонник открытого ПО и свободного интернета, не подверженного влиянию государственных органов и крупных корпораций, то YaCy - это ваш выбор. Также с его помощью можно организовать поиск внутри корпоративной или другой автономной сети. И пусть пока в быту YaCy не слишком полезен, он является достойной альтернативой Google с точки зрения процесса поиска.

4. Pipl

Что это

Pipl - система, предназначенная для поиска информации о конкретном человеке.

Чем лучше

Авторы Pipl утверждают, что их специализированные алгоритмы ищут эффективнее, чем «обычные» поисковики. В частности, приоритетными являются профили социальных сетей, комментарии, списки участников и различные базы данных, где публикуются сведения о людях, например базы судебных решений. Лидерство Pipl в этой области подтверждено оценками Lifehacker.com, TechCrunch и других изданий.

Зачем это вам

Если вам нужно найти информацию о человеке, проживающем в США, то Pipl будет намного эффективнее Google. Базы данных российских судов, видимо, недоступны для поисковика. Поэтому с гражданами России он справляется не так хорошо.

Что это

FindSounds - ещё один специализированный поисковик. Ищет в открытых источниках различные звуки: дом, природа, машины, люди и так далее. Сервис не поддерживает запросы на русском языке, но есть внушительный список русскоязычных тегов, по которым можно выполнять поиск.

Чем лучше

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

Зачем это вам

Если вам нужно быстро найти звук мушкетного выстрела, удары дятла-сосуна или крик Гомера Симпсона, то этот сервис для вас. И это мы выбрали только из доступных русскоязычных запросов. На английском языке спектр ещё шире.

Если серьёзно, специализированный сервис предполагает специализированную аудиторию. Но вдруг и вам пригодится?

Что это

Wolfram|Alpha - вычислительно-поисковая система. Вместо ссылок на статьи, содержащие ключевые слова, она выдаёт готовый ответ на запрос пользователя. Например, если ввести в форму поиска «сравнить население Нью-Йорка и Сан-Франциско» на английском, то Wolfram|Alpha сразу выведет на экран таблицы и графики со сравнением.

Чем лучше

Этот сервис лучше других подходит для поиска фактов и вычисления данных. Wolfram|Alpha накапливает и систематизирует доступные в Сети знания из различных областей, включая науку, культуру и развлечения. Если в этой базе находится готовый ответ на поисковый запрос, система показывает его, если нет - вычисляет и выводит результат. При этом пользователь видит только и ничего лишнего.

Зачем это вам

Если вы, например, студент, аналитик, журналист или научный сотрудник, то можете использовать Wolfram|Alpha для поиска и вычисления данных, связанных с вашей деятельностью. Сервис понимает не все запросы, но постоянно развивается и становится умнее.

Что это

Метапоисковик Dogpile выводит комбинированный список результатов из поисковых выдач Google, Yahoo и других популярных систем.

Чем лучше

Во-первых, Dogpile отображает меньше рекламы. Во-вторых, сервис использует особый алгоритм, чтобы находить и показывать лучшие результаты из разных поисковиков. Как утверждают разработчики Dogpile, их системы формирует самую полную выдачу во всём интернете.

Зачем это вам

Если вы не можете найти информацию в Google или другом стандартном поисковике, поищите её сразу в нескольких поисковиках с помощью Dogpile.

Что это

BoardReader - система для текстового поиска по форумам, сервисам вопросов и ответов и другим сообществам.

Чем лучше

Сервис позволяет сузить поле поиска до социальных площадок. Благодаря специальным фильтрам вы можете быстро находить посты и комментарии, которые соответствуют вашим критериям: языку, дате публикации и названию сайта.

Зачем это вам

BoardReader может пригодиться пиарщикам и другим специалистам в области медиа, которых интересует мнение массовой по тем или иным вопросам.

В заключение

Жизнь альтернативных поисковиков часто бывает скоротечной. О долгосрочных перспективах подобных проектов Лайфхакер спросил бывшего генерального директора украинского филиала компании «Яндекс» Сергея Петренко .


Сергей Петренко

Бывший генеральный директор «Яндекс.Украины».

Что касается судьбы альтернативных поисковиков, то она проста: быть очень нишевыми проектами с небольшой аудиторией, следовательно без ясных коммерческих перспектив или, наоборот, с полной ясностью их отсутствия.

Если посмотреть на примеры в статье, то видно, что такие поисковики либо специализируются в узкой, но востребованной нише, которая, возможно только пока, не выросла настолько, чтобы оказаться заметной на радарах Google или «Яндекса», либо тестируют оригинальную гипотезу в ранжировании, которая пока не применима в обычном поиске.

Например, если поиск по Tor вдруг окажется востребованным, то есть результаты оттуда понадобятся хотя бы проценту аудитории Google, то, конечно, обычные поисковики начнут решать проблему, как их найти и показать пользователю. Если поведение аудитории покажет, что заметной доле пользователей в заметном количестве запросов более релевантными кажутся результаты, данные без учёта факторов, зависящих от пользователя, то «Яндекс» или Google начнут давать такие результаты.

«Быть лучше» в контексте этой статьи не означает «быть лучше во всём». Да, во многих аспектах нашим героям далеко до и «Яндекса» (даже до Bing далековато). Но зато каждый из этих сервисов даёт пользователю нечто такое, чего не могут предложить гиганты поисковой индустрии. Наверняка вы тоже знаете подобные проекты. Поделитесь с нами - обсудим.

>> Как работают поисковые системы Яндекс и Google

Как работают поисковые системы. Наблюдения и факты.

В данной статье я раскрою все карты относительно того, Яндекс и Google. Я проведу тщательный анализ поисковых систем, и Вы узнаете принцип работы Яндекса и Google, а также какие между ними сходства и различия. Расскажу о таких вещах как сниппет, индексация, выдача результатов и т.д. Вы поймете, как устроены поисковые системы, и каким образом нужно продвигать свой сайт или блог в данных поисковиках.

На момент когда мне в голову пришла мысль создать свой сайт, я даже и не думал о том, как работают поисковые системы, какие в них особенности и в чем сходства и различия. На тот момент меня больше волновал вопрос, как создать сайт , чтобы в нем писать свои статьи. Я думаю многие веб-дизайнеры вначале, не задумываются над тем, как лучше наполнить свой сайт или блог контентом, чтобы он был интересен и поисковым системам и посетителям.

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

Я думаю изучать работу поисковых систем нужно, но не углубляться в глубь, так как на своем опыте понял одну вещь - не зависимо, на сколько глубоко Вы тестируете поисковые системы и сколько раз вы это будете делать - результат будет разный, так как поисковые системы постоянно придумывают что-то новое и неординарное и порой такое, что обычному веб-дизайнеру даже и не снилось. Наверное, только сами работники своих поисковых систем знают, как они работают и что нужно делать для того, чтобы попасть к ним в ТОП .

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

Итак, вот основные факторы, по которым работают поисковые системы Яндекс и Google.

Как работают поисковые системы Яндекс и Google.

Для всех молодых и только созданных сайтов и блогов возникает один и тот же вопрос: как мне ускорить индексацию моего сайта или блога? Этот вопрос возникал и у меня и мой сайт очень долго не хотел индексироваться поисковыми системами Яндекс и Google. Это теперь я знаю, как можно ускорить индексацию молодого блога или сайта. Так вот, над этим вопросом я бился почти 2 месяца, прежде чем мой сайт проиндексировался поисковыми системами полностью.

Так вот, как же работают поисковые системы и как они индексируют страницы сайта.

Многие веб-мастера знают, что скорость индексации сайта в Яндекс и Google разная. Самая быстрая индексация страниц сайта в Google и это доказанный факт, который я сам проверил на своем сайте. Ну а самая медленная индексация, соответственно у Яндекса. Почему так, а не иначе, я не знаю, но думаю Яндексу еще нужно работать над этим фактором.

Здесь что я хочу еще сказать, так это то, что каждая поисковая система имеет свои понятия относительно качества информации на сайтах и отталкиваясь от этого наблюдения и возникают расхождения по времени и скорости индексирования. Например, один сайт может в Google индексироваться практически моментально, а в Яндексе может даже и не проиндексироваться вообще и на оборот. Это подтверждает тот факт, что все поисковые системы работают поразному и порой продвигаться по каждой из них очень сложно и поэтому многие веб-мастера продвигаются по одной поисковой системе или в нескольких.

На сегодняшний момент основными поисковыми системами являются Яндекс и Google, а все остальные - это лишь пешки в большом царстве. Поэтому, получить индексацию сайта в данных поисковых системах - это получить хороший приток новых посетителей.

2. Сниппет.

Сниппет - это отрывок или кусок текста, который находится на странице сайта и выдается поисковиками в поисковой выдаче пользователям интернета ниже названия страницы или тега . Вот как выглядит сниппет в Google и Яндексе.

Сниппет в Яндексе:

Сниппет в Google:

Как видите на скриншотах, что сниппет у них одинаковый, только различия в расположении элементов (описаний) сайта в выдаче.

Существует такой тег для сниппета, как мета-тег «Description». В этом теге веб-мастера и прописуют тот текст, который они хотят видеть в выдаче поисковых систем. Но, данный тег не всегда учитывают поисковые системы. Это в первую очередь относится к Яндексу. Он может взять от туда описание, а может и не взять, а взять данный сниппет из самого текста страницы сайта. Никто не знает, почему он перебирает, но все же прописуют для Яндекса в мета-теге «Description» свой сниппет.

В Google все проще, если есть на сайте данный тег то Google, в первую очередь, берет описание именно с него. Это уже доказано не один раз. Поэтому, для тех, кто хочет продвигаться в Google, смело можете заполнять данный мета-тег «Description». Лично я не пользуюсь данным тегом, а надеюсь на то, что поисковые системы выберут в моей статье наиболее подходящий сниппет по каждому запросу. Я думаю, это будет более, естественней и привлекательней.

Я вывел для себя такую закономерность что поисковые системы берут сниппет на сайте если нет мета-тега «Description» по первой ключевой фразе и поэтому я стараюсь в самом начале каждой статьи писать ключевую фразу , под которую данная страница заточена и сделать околоссылочный текст. Это работает одинаково и в Яндексе и в Google. Поэтому, Вы можете сами выбирать, где Вам писать сниппет для поисковых систем.

Но, в ваших интересах сделать его привлекательным и информативным для пользователей интернета. Например, возьмем тот факт, что Ваш сайт по какому нибудь запросу находится на 10 месте, а не на первом, но большинство посетителей зайдет именно на Ваш сайт и этот фактор, во-первых: приведет больше посетителей на Ваш сайт, во-вторых: Ваш сайт поисковые системы подымут выше в поисковой выдаче, и сможете получить еще больше посетителей. Поэтому уделите сниппету особое внимание.

3. Выдача результатов.

Что хочу сказать по этому пункту так это то, что я недавно провел свой анализ по своему сайту и сделал для себя некоторые выводы. Выдача в поисковых системах Яндекс и Google разная. Да именно разная. Почему я так считаю, спросите Вы? Недавно, как я уже говорил, я сделал анализ выдачи в этих двух поисковых систем и понял, что более результатов выдает, как не странно, именно Google. Почему я так решил?

У меня есть счетчик посещаемости от Liveinternet и в нем есть такая статистика, по каким запросам находили посетители мой сайт. Я брал эти запросы и проверял в Яндексе и Google и увидел, что Яндекс дает мне больше посетителей, но половину из них заходят на мой сайт по нерелевантным запросам. То есть они заходят на мой сайт, видят, что там нет ответа на их вопрос, и сразу покидают сайт.

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

Мое мнение, Яндекс просто не знает, как лучше выдать релевантный запрос пользователю интернета. И эта безграмотность данной поисковой системы, хоть и дает больше посетителей, но губит сайты плохими поведенческими факторами.

В Google на мой взгляд, противоположная ситуация. Google дает меньше посетителей на сайт, но результаты более релевантны и соответственно посетители ведут себя на сайте лучше, в плане поведенческих факторов. То есть Google выдает результат более в строгих рамках и все запросы имеют прямое отношение к той информации, которая действительно находится на сайте.

В заключении я хочу подвести итоги данной статьи. На мой взгляд, у Яндекса есть проблемы по многим факторам, кроме посещаемости, но если так пойдет и дальше, то Google в скором времени обгонит Яндекс во всем и будет поисковой системой №1 в русскоязычном сегменте. Я сделал свои наблюдения, и Вы вправе не соглашаться со мной, но я для себя сделал именно такие выводы. Возможно, завтра все поменяется, и я изменю свое мнение касательно работы поисковых систем Яндекс и Google.

На этом все и я думаю Вы выяснили основные моменты того, как работают поисковые системы Яндекс и Google. Жду с нетерпением ваши комментарии на данную тему. Мне интересно ваше мнение и ваши наблюдения.

Поддержите проект — поделитесь ссылкой, спасибо!
Читайте также
Lg g3 d855 перезагружается решение! Lg g3 d855 перезагружается решение! Чем отличается протокол ipv4 от ipv6 Чем отличается протокол ipv4 от ipv6 Основные принципы работы поисковых систем в интернете Поисковая система интернет как работает Основные принципы работы поисковых систем в интернете Поисковая система интернет как работает