Сразу оговорюсь, что, возможно, я не совсем правильно назвал эту статью и надо было бы назвать ее, к примеру, «Создание своей поисковой системы». Быть может, у читателя сейчас промелькнула мысль: к чему бы такое замечание в самом начале статьи? Но давайте не будем забегать вперед, скоро все встанет на свои места...
Итак, поисковая система. Для чего она нужна? Думаю, это не секрет для любого пользователя сети. Поисковая система позволяет найти то, что мы ищем в интернете. Другими словами, она для нас — источник информации. В принципе, поисковой системе все равно, какую информацию искать, она будет искать все, что ей скажут. Она лишена человеческого разума и ее возможности ограничены программными и техническими средствами. На этом, думаю, стоит остановиться отдельно.
Предположим, у нас на столе лежат три книги: учебник по химии, кулинарная книга и каталог магазинов. В этих книгах нам нужно найти информацию о бургундском вине. Как бы поступил в этом случае человек, а как поисковая машина? Наверняка человек бы подумал, что конкретно его интересует в вине — химический состав или в каком магазине оно продается. Логично предположить, что поиск стал бы продолжаться не во всех трех книгах, а в двух или вовсе в одной. Иными словами, человек бы уточнил свой запрос и отсеял ненужное с помощью своего разума.
В аналогичном случае поисковой машине пришлось бы намного сложнее, она ведь не может отсеивать ненужное «налету». Алгоритм ее действий выглядел бы примерно так: 1) поиск во всех трех книгах 2) сортировка результатов по точностью совпадения с поисковой фразой. Думается, что такой поиск выдавал бы не самые лучшие результаты, поскольку слово «замок» для поисковой системы — это и «замок», и «замок» тоже. Таким образом, поисковая машина должна уметь не только искать определенные фразы в своей базе, но и хоть немного учитывать морфологию языка и многое другое. Итак, мы подошли к важному выводу. Хорошая поисковая система — это сложный механизм, требующий значительных аппаратных ресурсов.
Соответственно, создать поисковую систему, альтернативную общеизвестным монстрам поиска сложно, долго и затратно. Те же Google и Яндекс - (yandex) потратили огромное количество денег и уйму времени на то, чтобы сейчас мы могли пользоваться их услугами.
Возможно кто-то спросит: неужели невозможно создать небольшую поисковую систему, которая бы искала в определенной сфере или строго по определенным сайтам? Конечно же, решение есть. Тут существует, на мой взгляд, два варианта:1) использовать как платные, так и бесплатные скрипты поиска 2) использовать специальные сервисы Google, Яндекс - (yandex), Yahoo и т.д.
В качестве реализации первого варианта можно попробовать:
1) бесплатный скрипт Sphider, написанный на php. Неплохо поддерживает кириллицу (если изменить в коде одну строчку), есть свой индексирующий бот. Из админ-панели можно управлять системой, индексировать, переиндексировать страницы, удалять из индекса, устанавливать глубину индексирования. Интерфейс легко настраивается с помощью шаблонов. Скрипт использует базу данных mysql.
2) PhpDig также бесплатен, использует базу Mysql и не менее известен, чем Sphider. Однако, как мне показалось, он уступает в скорости последнему.
3) RiSearch написан на Perl + PHP и не использует Mysql-базу данных, что является минусом. Есть проблемы с релевантностью предоставляемых данных.
4) платный скрипт MnogoSearch. Обладает огромными возможностями, в том числе поддержкой различных баз данных, командной строки. Существуют различные версии для Unix- и Windows-серверов, а также различные версии в зависимости от типа используемой базы. Lite-версия стоит 99$.
Второй вариант — использовать бесплатный сервис Google Coop, который позволяет создать свою систему поиска по заданным критериям, используя всю мощь Google или сервис Яндекс - (yandex).XML, который также позволяет использовать Яндекс - (yandex) при создании своего поисковика. Только это уже не совсем альтернативная посковая система, а своеобразная надстройка.
Кстати, есть также проект Flexum, который позволяет создать пользовательский поиск на платной или бесплатной основе.
Таким образом, создать свою полноценную поисковую систему можно, однако она будет довольно слабенькой. Зато создать поиск, скажем, по сайтам определенной тематики, проще простого. Что называется, Google Coop в помощь.
Подводя итоги, хочется сказать, что есть еще интересные по-своему проекты. Стоит лишь зайти на https://altsearchengines.com и убедиться в этом самому.