Как создать альтернативную поисковую систему
Опубликовано января 16, 2008
в рубрике Поисковые системы
Сразу оговорюсь, что, возможно, я не совсем правильно назвал эту статью и надо было бы назвать ее, к примеру, «Создание своей поисковой системы». Быть может, у читателя сейчас промелькнула мысль: к чему бы такое замечание в самом начале статьи? Но давайте не будем забегать вперед, скоро все встанет на свои места...
Итак, поисковая система. Для чего она нужна? Думаю, это не секрет для любого пользователя сети. Поисковая система позволяет найти то, что мы ищем в интернете. Другими словами, она для нас — источник информации. В принципе, поисковой системе все равно, какую информацию искать, она будет искать все, что ей скажут. Она лишена человеческого разума и ее возможности ограничены программными и техническими средствами. На этом, думаю, стоит остановиться отдельно.
Предположим, у нас на столе лежат три книги: учебник по химии, кулинарная книга и каталог магазинов. В этих книгах нам нужно найти информацию о бургундском вине. Как бы поступил в этом случае человек, а как поисковая машина? Наверняка человек бы подумал, что конкретно его интересует в вине — химический состав или в каком магазине оно продается. Логично предположить, что поиск стал бы продолжаться не во всех трех книгах, а в двух или вовсе в одной. Иными словами, человек бы уточнил свой запрос и отсеял ненужное с помощью своего разума.
В аналогичном случае поисковой машине пришлось бы намного сложнее, она ведь не может отсеивать ненужное «налету». Алгоритм ее действий выглядел бы примерно так: 1) поиск во всех трех книгах 2) сортировка результатов по точностью совпадения с поисковой фразой. Думается, что такой поиск выдавал бы не самые лучшие результаты, поскольку слово «замок» для поисковой системы — это и «замок», и «замок» тоже. Таким образом, поисковая машина должна уметь не только искать определенные фразы в своей базе, но и хоть немного учитывать морфологию языка и многое другое. Итак, мы подошли к важному выводу. Хорошая поисковая система — это сложный механизм, требующий значительных аппаратных ресурсов.
Соответственно, создать поисковую систему, альтернативную общеизвестным монстрам поиска сложно, долго и затратно. Те же Google и Яндекс потратили огромное количество денег и уйму времени на то, чтобы сейчас мы могли пользоваться их услугами.
Возможно кто-то спросит: неужели невозможно создать небольшую поисковую систему, которая бы искала в определенной сфере или строго по определенным сайтам? Конечно же, решение есть. Тут существует, на мой взгляд, два варианта:1) использовать как платные, так и бесплатные скрипты поиска 2) использовать специальные сервисы Google, Яндекс, Yahoo и т.д.
В качестве реализации первого варианта можно попробовать:
1) бесплатный скрипт , написанный на php. Неплохо поддерживает кириллицу (если изменить в коде одну строчку), есть свой индексирующий бот. Из админ-панели можно управлять системой, индексировать, переиндексировать страницы, удалять из индекса, устанавливать глубину индексирования. Интерфейс легко настраивается с помощью шаблонов. Скрипт использует базу данных mysql.
2)
3)
4) платный скрипт
Второй вариант — использовать бесплатный сервис
Кстати, есть также проект
Таким образом, создать свою полноценную поисковую систему можно, однако она будет довольно слабенькой. Зато создать поиск, скажем, по сайтам определенной тематики, проще простого. Что называется, Google Coop в помощь.
Подводя итоги, хочется сказать, что есть еще интересные по-своему проекты. Стоит лишь зайти на
Случайные записи
Комментарии
26 комментариев to “Как создать альтернативную поисковую систему”
Оставить комментарий








mnoGoSearch имеет две версии, бесплатную для Unix и платную для Windows.
Еще можно попробовать движок DataparkSearch:www.dataparksearch.org
Таким образом, создать свою полноценную поисковую систему можно, однако она будет довольно слабенькой.
Вот сделали людиhttp://WWW.OIL-PROM.RU
Почему слабенькой?
Илья, вот почему:
а поподробнее про строчку в Sphider
можно?
заинтересовало
Kristofer, сейчас уже не вспомню точно. По-моему надо искать «windows-1250» и поменять ее, к примеру, на utf. У меня это помогло. Попробуйте.
все дело в том что это элемент тэга meta
который указывается только в admin.php
и указывает как отображать страницу.
я создал под него бд в cp1251-general-ci (кжись так пишется).
но при добавлении сайта или описания, на русском, он выдает ошибки.
как победить я не знаю.
все перепробовал
на одном из сайтов нашел, что он корректно работает только с cp1251 utf-8 и koi8-r.
могу выслать руссифицированный скрипт для проверки
кароче, оставил я кодировку iso, но только русифицированные файлы у меня были в win
и их понимает только эксплорер, а опера выдает бракозябры.
итог — все работает
менять ни чего не надо
А вот в опере я в то время не проверял. Но раз работает, значит хорошо.
Кстати, нашел русскоязычный сайт — sphider.ru/
был на этом сайте, сухо...
и еще, индексирует нормально, вот только с поиском не ладно,
выдает ошибки, если ищешь русские слова
и «результатов нет» если на латинице
если это можно назвать нормальным индексированием:
Размер страницы: 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
все дело в том, что индексируемые страницы идут под кодировкой cp1251
а значит могут возникнуть проблемы, я правильно понимаю?
но как подружить сайт с поисковиком?
ориентированный на англоязычные сайты, он совсем не подходит мне, так как на utf-8 мне смысла нет переходить.
А надо ли использовать именно sphider? Все-таки полноценный поисковик на php/mysql не получится.
ну хорошо...
что ты можешь предложить?
эта комплектация меня полностью устраивала, так как в сети, не нашел ничего нормального, одна ерунда, без использования бд
а мне нужна именно такая связка
Смотря для каких целей. Для небольшого сайта и Sphider подойдет. А для поиска по большому количеству документов лучше и целесообразнее Google Coop.
Если хочется свою ПС...DataPark Search, Nutch...но это нужен свой сервер, да и разбираться надо.
все это, конечно, звучит не плохо, но я не горю желанием просматривать чужую рекламу.
это основная причина отказа
а! и еще! после поиска, на странице результатов есть вариант выбора поиска по сайту или в интернете, это не очень выгодно, так как клиент может наткнуться на конкурентов, а это означает потерю прибыли.
значит не подходит
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 не подскажите что делать!!!
@ иван:
Честно говоря, даже не знаю. Когда я игрался со Sphider, таких проблем не было. Можно попробовать на localhost и посмотреть, будет ошибка или нет.
иван, сайт на ucoz?
иван нас игнорирует
в общем с utf8 на укозе «он» не дружит
Как создать собственный сайт???помогите пожалуйста
@ Евгений:
Задайте свой вопрос Гуглу, он вам все расскажет. А то больно глобальный он, вопрос ваш.
Sphider.ru — скрипт поисковой системы, лучший в своем роде
@ Веб сайт:
Бред !!! Не кому не нужный проект, даже админы забыли про его !!!
А как сделать поисковик вроде яндекса????
На чем он делается и какой сервер надо?????
МОЖЕТЕ НАПИСАТЬ НА ПОЧТУ ОТВЕТ z.voronin@yandex.ru
Благодарность автору. Наконец то нашел содержательную статью неразбавленную всякой чепухой и вымыслами