Как создать альтернативную поисковую систему

Опубликовано января 16, 2008 
в рубрике Поисковые системы

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

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

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

В аналогичном случае поисковой машине пришлось бы намного сложнее, она ведь не может отсеивать ненужное «налету». Алгоритм ее действий выглядел бы примерно так: 1) поиск во всех трех книгах 2) сортировка результатов по точностью совпадения с поисковой фразой. Думается, что такой поиск выдавал бы не самые лучшие результаты, поскольку слово «замок» для поисковой системы — это и «замок», и «замок» тоже. Таким образом, поисковая машина должна уметь не только искать определенные фразы в своей базе, но и хоть немного учитывать морфологию языка и многое другое. Итак, мы подошли к важному выводу. Хорошая поисковая система — это сложный механизм, требующий значительных аппаратных ресурсов.

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

Возможно кто-то спросит: неужели невозможно создать небольшую поисковую систему, которая бы искала в определенной сфере или строго по определенным сайтам? Конечно же, решение есть. Тут существует, на мой взгляд, два варианта:1) использовать как платные, так и бесплатные скрипты поиска 2) использовать специальные сервисы Google, Яндекс, Yahoo и т.д.

В качестве реализации первого варианта можно попробовать:

1) бесплатный скрипт Sphider, написанный на php. Неплохо поддерживает кириллицу (если изменить в коде одну строчку), есть свой индексирующий бот. Из админ-панели можно управлять системой, индексировать, переиндексировать страницы, удалять из индекса, устанавливать глубину индексирования. Интерфейс легко настраивается с помощью шаблонов. Скрипт использует базу данных mysql.
2) PhpDig также бесплатен, использует базу Mysql и не менее известен, чем Sphider. Однако, как мне показалось, он уступает в скорости последнему.
3) RiSearch написан на Perl + PHP и не использует Mysql-базу данных, что является минусом. Есть проблемы с релевантностью предоставляемых данных.
4) платный скрипт MnogoSearch. Обладает огромными возможностями, в том числе поддержкой различных баз данных, командной строки. Существуют различные версии для Unix- и Windows-серверов, а также различные версии в зависимости от типа используемой базы. Lite-версия стоит 99$.

Второй вариант — использовать бесплатный сервис Google Coop, который позволяет создать свою систему поиска по заданным критериям, используя всю мощь Google или сервис Яндекс.XML, который также позволяет использовать Яндекс при создании своего поисковика. Только это уже не совсем альтернативная посковая система, а своеобразная надстройка.

Кстати, есть также проект Flexum, который позволяет создать пользовательский поиск на платной или бесплатной основе.

Таким образом, создать свою полноценную поисковую систему можно, однако она будет довольно слабенькой. Зато создать поиск, скажем, по сайтам определенной тематики, проще простого. Что называется, Google Coop в помощь.
Подводя итоги, хочется сказать, что есть еще интересные по-своему проекты. Стоит лишь зайти на http://altsearchengines.com и убедиться в этом самому.

Комментарии

27 комментариев to “Как создать альтернативную поисковую систему”

  1. Maxime on февраля 26, 2008 16:13

    mnoGoSearch имеет две версии, бесплатную для Unix и платную для Windows.

    Еще можно попробовать движок DataparkSearch: www.dataparksearch.org

  2. Илья on октября 11, 2008 23:48

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

    Вот сделали люди http://WWW.OIL-PROM.RU

    Почему слабенькой?

  3. admin on октября 12, 2008 0:22

    Илья, вот почему:

    http://www.oil-prom.ru/search.php?HitsPerSite=1&query=%E3%E0%E7&sendForm.x=0&sendForm.y=0

  4. Kristofer on апреля 14, 2009 16:24

    а поподробнее про строчку в Sphider

    можно?

    заинтересовало

  5. admin on апреля 14, 2009 19:05

    Kristofer, сейчас уже не вспомню точно. По-моему надо искать «windows-1250» и поменять ее, к примеру, на utf. У меня это помогло. Попробуйте.

  6. Kristofer on апреля 15, 2009 8:08

    все дело в том что это элемент тэга meta

    который указывается только в admin.php

    и указывает как отображать страницу.

    я создал под него бд в cp1251-general-ci (кжись так пишется).

    но при добавлении сайта или описания, на русском, он выдает ошибки.

    как победить я не знаю.

    все перепробовал

    на одном из сайтов нашел, что он корректно работает только с cp1251 utf-8 и koi8-r.

    могу выслать руссифицированный скрипт для проверки

  7. Kristofer on апреля 15, 2009 9:02

    кароче, оставил я кодировку iso, но только русифицированные файлы у меня были в win

    и их понимает только эксплорер, а опера выдает бракозябры.

    итог — все работает

    менять ни чего не надо

  8. admin on апреля 15, 2009 9:06

    А вот в опере я в то время не проверял. Но раз работает, значит хорошо. 🙂

    Кстати, нашел русскоязычный сайт — sphider.ru/

  9. Kristofer on апреля 15, 2009 9:21

    был на этом сайте, сухо...

    и еще, индексирует нормально, вот только с поиском не ладно,

    выдает ошибки, если ищешь русские слова

    и «результатов нет» если на латинице

  10. Kristofer on апреля 15, 2009 9:33

    если это можно назвать нормальным индексированием:

    Размер страницы: 5.53kb. Индексирование начато в 09:31:08. Incorrect string value: '\xD0\x9A\xD0\xBE\xD0\xBD...' for column 'title' at row 1Incorrect string value: '\xF0\x90\xF0' for

    ............................

    MySQL server version for the right syntax to use near ' 20, 8, 1),(, 0, 8, 1),(, 0, 8, 1)' at line 1

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

    Ссылок найдено: 1. Новых ссылок: 1

  11. Kristofer on апреля 15, 2009 9:36

    все дело в том, что индексируемые страницы идут под кодировкой cp1251

    а значит могут возникнуть проблемы, я правильно понимаю?

    но как подружить сайт с поисковиком?

    ориентированный на англоязычные сайты, он совсем не подходит мне, так как на utf-8 мне смысла нет переходить.

  12. admin on апреля 15, 2009 9:42

    А надо ли использовать именно sphider? Все-таки полноценный поисковик на php/mysql не получится.

  13. Kristofer on апреля 15, 2009 9:45

    ну хорошо...

    что ты можешь предложить?

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

    а мне нужна именно такая связка

  14. admin on апреля 15, 2009 9:49

    Смотря для каких целей. Для небольшого сайта и Sphider подойдет. А для поиска по большому количеству документов лучше и целесообразнее Google Coop.

    Если хочется свою ПС...DataPark Search, Nutch...но это нужен свой сервер, да и разбираться надо.

  15. Kristofer on апреля 15, 2009 9:58

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

    это основная причина отказа

  16. Kristofer on апреля 15, 2009 10:10

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

    значит не подходит

  17. иван on сентября 19, 2009 8:01

    Sphider когда он индексирует какой либо сайт с кодировкой utf8 он выдает вот такие ошибки Size of page: 26.41kb. Starting indexing at 08:53:11. Illegal mix of collations (utf8_general_ci,IMPLICIT) and (cp1251_general_ci,COERCIBLE) for operation '='Illegal mix of collations (utf8_general_ci,IMPLICIT) and (cp1251_general_ci,COERCIBLE) for operation '='Illegal mix of collations (utf8_general_ci,IMPLICIT) and (cp1251_general_ci,COERCIBLE) for operation '='Illegal mix of collations (utf8_general_ci,IMPLICIT) and (cp1251_general_ci,COERCIBLE) for operation '='You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 10, 2),(88, 50, 60, 2),(88, 3279, 20, 2),(88, 3281, 10, 2),(88, 117, 10, 2),(88' at line 1You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 60, 2),(88, 3291, 10, 2),(88, 118, 10, 2),(88, 3318, 10, 2),(88, 3339, 10, 2),(' at line 1You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 10, 2),(88, 120, 20, 2),(88, 134, 10, 2),(88, 3808, 10, 2),(88, 3330, 10, 2),(8' at line 1You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 10, 2),(88, 3435, 10, 2)' at line 1 не подскажите что делать!!!

  18. admin on сентября 19, 2009 10:02

    @ иван:

    Честно говоря, даже не знаю. Когда я игрался со Sphider, таких проблем не было. Можно попробовать на localhost и посмотреть, будет ошибка или нет.

  19. Kristofer on сентября 21, 2009 11:49

    иван, сайт на ucoz?

  20. Kristofer on сентября 22, 2009 9:17

    иван нас игнорирует 🙂

    в общем с utf8 на укозе «он» не дружит

  21. Евгений on января 25, 2010 9:13

    Как создать собственный сайт???помогите пожалуйста

  22. admin on января 30, 2010 22:01

    @ Евгений:

    Задайте свой вопрос Гуглу, он вам все расскажет. А то больно глобальный он, вопрос ваш. 🙂

  23. Веб сайт on марта 30, 2010 23:25

    Sphider.ru — скрипт поисковой системы, лучший в своем роде

  24. zik on июня 15, 2010 16:44

    @ Веб сайт:

    Бред !!! Не кому не нужный проект, даже админы забыли про его !!!

  25. Женя on июня 18, 2010 22:13

    А как сделать поисковик вроде яндекса????

    На чем он делается и какой сервер надо?????

    МОЖЕТЕ НАПИСАТЬ НА ПОЧТУ ОТВЕТ z.voronin@yandex.ru

  26. 61114g0 on июля 2, 2010 20:28

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

  27. Игорь on ноября 20, 2010 0:24

    Ребята из Rx24 сделали хороший скрипт поисковика написали по технологии Staks ( скрипт Рамблера). Ну рамблер то за этот скрипт $3 млн. отдал!

Оставить комментарий




Это не спам.
сделано dimoning.ru

Разработка 24 design studio