| Поиск по сайту, виды поисковых алгоритмов |
|
|
|
|
Рассмотрим варианты поисковых алгоритмов, с помощью которых можно обеспечить поиск на собственном сайте. Все алгоритмы оцениваются с точки зрения производительности и трудозатрат на разработку скриптов. Поиск по сайту. Сканирование каталогов. Данный алгоритм имеет одно главное преимущество: отсутствует база страниц, по которым осуществляется поиск. Результат работы алгоритма формируется при последовательном (в более развитых алгоритмах - параллельном) просмотре файлов в искомых каталогах. Для каждого найденного файла производятся 3 операции:
Введем такую формулу: n* (x+2*x+2*x) = 5*x*n, где n - количество страниц, которые нужно проверить по данному алгоритму. Для 1000 поисковых страниц получим 5000*x тактов времени. Чем сложнее алгоритм, тем менее простым становится шаблон поиска. Например, производится поиск не только для полного посимвольного совпадения целевого запроса, но и морфологически близких словосочетаний. Поиск по сайту. Поиск в индексной базе. Алгоритм поиска по индексной базе имеет единственный недостаток: индексная база занимает место. В зависимости от структуры индексной базы, она может занимать почти такой же объем, какой занимает сайт со всеми страницами. В пределе получаем удвоение размера на хостинговой площадке, что критично для сайтов с огромным количеством страниц (например, более 65000 страниц). Как работает алгоритм?
Используя формулу из предыдущего подраздела, получим: 10*x + n*(2*x), где n - количество записей в индексной базе. Для 1000 записей получим 10*x+2000*x=2010*x тактов времени. Сравнительный анализ поисковых алгоритмов. Рассмотренные алгоритмы дают базовое представление о проблеме поиска по сайту. Краткие выводы:
Усовершенствованные алгоритмы поиска. Не будем касаться алгоритмов, использующихся поисковыми машинами (Яндекс, Рамблер). Для отдельно взятого сайта разработка сложного алгоритма поиска будет сопоставима со стоимостью разработки самого сайта, а может и превышать ее в разы. Как можно усовершенствовать алгоритм поиска по сайту?
Усовершенствований может быть гораздо больше. Всё зависит от конкретного сайта, поисковых потребностей пользователей, возможностей программистов и финансирования разработки. В заключении, можно посмотреть работу поискового алгоритма "SP-Поиск", основанного на индексной базе, с использованием логических операторов AND и OR, и ранжированием по точному/неточному совпадению целевого запроса в записях индексной базы. Автор Шаров Евгений По материалам сайта: http://www.gcmsite.ru/
|



