Для разгрузки системы при увеличении количества страниц, предназначенных для индексации, работа поисковых роботов происходит параллельно, а именно: происходит разделение списка адресов страниц на равные части и распределение между роботами. Информация обо всех страницах, скачанных роботом из Интернета, сохраняется в базе данных. С помощью программы индексатора indexer, страница разбивается на части и анализируется содержащаяся в ней информация. При совпадении URL у нескольких страниц, выбирается более новая версия страницы. При возникновении ошибки 404 (страница не найдена) во время скачивания страницы, то страница будет удалена из базы данных на некоторое время. Страницы с одинаковыми содержанием и адресами, «склеиваются» между собой, а страницы со схожим текстом, но имеющие отличающиеся URL, объединяются в один документ. Одна из важнейших характеристик системы поиска - точность. Она определяется как степень соответствия результата поиска к созданному запросу. К примеру, при создании запроса «дом с часами», компьютер выдает в результате поиска 180 документов. При этом в 90 из них эта фраза содержится в неизменном вида, а в других просто встречаются эти слова «дом» и «с часами» («возле дома находится магазин с часами»). Посчитаем точность поиска: 90:180=0,5. следовательно, чем выше точность поиска, тем меньше лишних статей в его результатах. Чтобы повысить точность поиска поисковик Рамблер использует различные технологии. Одна из них - система распознавания омонимов. Для начала вспомним, что такое омоним. Омонимы - это слова, которые пишутся одинаково, но различаются по смыслу; есть лексические и грамматические омонимы. Лексические омонимы – это слова одной части речи, к примеру, существительное «коса» - это и сельскохозяйственное орудие и женская прическа. Грамматические омонимы относятся к разным частям речи. В написании этих слов у них совпадают только некоторые формы, например: слово «рядовой» может быть как прилагательное в словосочетании «участковый милиционер» и может быть существительным - «участковый Иванов». Омонимы значительно затрудняют результаты поиска и приводят к увеличению размера индексной базы, так как каждому омониму приходится сохранять все его вероятные значения. Чтобы повысить точность результатов поиска, модуль синтаксического анализа разбирает и слова, окружающие омонимы, с целью определения наиболее вероятного их значения. На сегодняшний день модуль синтаксического анализа способен выделять только грамматические омонимы.
|