Поисковая машина - это программа, которая составляет и хранит предметный указатель Интернета, а так же находит в нем заданные ключевые слова. Для этого программа составляет так называемый индекс.
Рассмотрим процесс составления индекса и поиска по нему.
Сбор адресов страниц в интернете.
Чтобы составить индекс по страницам, нужно сначала составить список страниц - набор адресов тех страниц, по которым будет составляться индекс.
Поскольку сайты и их страницы беспорядочно разбросаны в интернете, поисковой машине нужно с чего-то начинать. Разработчики поисковиков погружают в него какой-то изначальный список адресов страниц сайтов, а затем поисковой робот собирает все гипертекстовые ссылки с каждой страницы на другие страницы и добавляет все найденные в ссылках адреса к своему первоначальному набору.
Таким образом, первоначальный набор адресов страниц быстро увеличивается за счет внутренних и внешних ссылок на страницы сайтов.
ВАЖНО ЗНАТЬ! Малоизвестный страницы, на которые никто не ссылается, имеют очень мало шансов автоматически попасть в индекс поисковой машины.
Поэтому не проиндексированным сайтам и форумам стоит прибегать к средствам регистрации новых веб-страниц, которые есть во всех поисковиках.
Выкачивание страниц.
Для того, чтобы составить индекс из страницы, внесенной в набор адресов поисковика, поисковой робот (он же - поисковой "паук") выкачивает содержимое страниц и сохраняет его на своих серверах (то бишь компьютерах).
Составление индекса (индексирование)
Чтобы составить индекс, индексный робот поисковой машины должен отобрать все слова из всех выкаченных текстов веб-страниц и разной служебной информацией о страницах, с которых они были взяты (например адрес, описание сайта и т.п.)
Для этого индексный робот перебирает все выкаченные страницы, нумерует их, удаляет из теста "мусор" например html-теги), затем извлекает из текста слова и помещает их в индекс.
Подробнее об индексе: как устроениндекс поисковой машины.
Шаг 1. Конверсия в чистый текст.
Для начала поисковая машина очищает тест от нетекстовых элементов: резметки (тегов) язка html, графических элементов и т.п.
Шаг 2. Выборка слов.
Индексному роботу нужно выбрать из текста все слова и расположить их по алфавиту. Для этого поисковик должен знать, что считается словом - последовательность букв, числа, буквенно-цифровые последовательности, слова с дефизом и т.п. А так же, что словом НЕ считается - пробелы, знаки препинания и прочее.
У каждого поисковика есть свое определение того, что считать словом в тексте.
Стандарта здесь, увы, не существует.
Шаг 3. Лингвистическая обработка.
В поисковых машинах слова НЕ заносятся в индекс в том виде, в котором они приведены в тексте.
Наравне с этапом выборки слов поисковая машина применяет свой алгоритм лингвистической обработки слов: приведение слов к их начальной грамматической форме, к основам (грубо говоря, к именительному падежу).
Этот алгоритм называется машинной марфологией.
Шаг 4. Составление индекса.
Собранные вместе основы всех слов из всех текстов сводятся в индекс - своеобразный словарь, в котором основы упорядоченны по алфавиту, а при каждой основе записан номер страницы, с которой она взята (номер страницы) и на каком месте на этой странице она располагалась (номер вхождения).
Таким образом, индексная запись имеет следующую структуру:
ОСНОВА / номер страницы+номер вхождения / номер страницы+номер вхождения / номер страницы+номер вхождения / ....
(конечно, на деле для удобства хранения таких огромных объемов информации и поиска по ним всячески оптимизируют и усложняют. но если объяснять "на пальцах" - суть индекса именно такова, как описано выше.)
Примечание: прямой индекс.
А откуда берется цитата в поисковых результатах? Неужели поисковик восстанавливает текст страницы по вывернотому "наизнанку" индексу?
Нет, хотя это технически возможно. Но гораздо проще хранить еще и второй индекс - прямой индекс. Этот индекс есть, по сути, сжатая текстовая копия всего интернета.
Поиск.
Все описанные выше шаги незаметны для пользователя поисковой машины. А вот сам поиск - это как раз то, что видит пользователь. Он вводит в поисковую строку свой запрос (слово или словосочетание), и поисковая машина - о, чудо! - выдает список ссылок на страницы в интернете.
Как же это работает?
Когда пользователь вводит какое-нибудь слово в строку запроса поисковика, поисковая машина обращается к индексу, находит запись о заданном слове, извлекает все номера страниц, относящиеся к заданному слову, и показывает пользователю результаты поиска, т.е. список страниц.
В списке результатов обычно отображается заголовок страницы (титул страницы), дата создания страницы, ее адрес, цитата из текста страницы с подсвеченным искомым словом.
Если же в запросе было несколько слов, то поисковая машина сравнивает списки ссылок на страницы для каждого слова и выбирает только те страницы, номера которых повторяются, т.е. встречаются в каждом списке страниц для каждого слова. Таким образом, выбираются только те страницы, на которых одновременно встречаются все слова запроса.
(конечно, тут изложена сама суть механизма, а на деле разработчики поисковиков используют множество дополнительных ухищрений)
Поисковик тем лучше, чем более "правильные" страницы он показывает пользователю в ответ на запрос. "Правильные" страницы называются релевантными (то бишь относящимися к делу, уместными)
источник
Отредактировано Герда (07.12.2010 01:47:35)