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

Зачем вам вообще создавать поисковую систему? Уже есть поисковая система, которая управляет ими всеми. Вы можете использовать Google, чтобы найти в Интернете практически все, что угодно, и я сомневаюсь, что у вас когда-нибудь будут такие же вычислительные возможности и возможности хранения данных, как у большого G.

Так зачем же тогда создавать собственную поисковую систему? — Конечно же, чтобы заработать деньги!

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

Третье приложение представляет собой настраиваемый высокоскоростной поиск по веб-сайту с тысячами страниц. Индексированная поисковая система будет намного быстрее, чем функция полнотекстового поиска, и если поиск по сайту Google недостаточно гибок для вашего сайта, вы можете создать свою собственную функцию поиска.

ОСНОВЫ ПОИСКА

Основой любой БОЛЬШОЙ поисковой системы является индекс веб-страницы по словам, то есть длинный список слов и их соответствие различным веб-страницам.

Чтобы создать поисковую систему, вам нужно сделать четыре вещи:

* Решите, какие страницы нужно получить, и извлеките их.
* Разбирать слова, фразы и ссылки со страницыGoogle-custom-se
* Дайте оценку каждому ключевому слову или ключевой фразе, указав, насколько хорошо эта фраза связана с этими страницами, и сохраните оценки в индексе поисковой системы.
* Предоставьте пользователям возможность запрашивать индекс и получать список соответствующих веб-страниц.

Для опытного программиста это несложно. Это можно сделать за день, если вы знаете регулярные выражения и имеете некоторый опыт работы с HTML и базами данных.

Теперь у вас есть работающая поисковая система, просто добавьте много компьютеров и жестких дисков, и вскоре вы проиндексируете весь Интернет. Если вы не готовы зайти так далеко, диск емкостью один терабайт будет содержать индекс около 50 миллионов страниц.

КАК ОЦЕНИВАТЬ СТРАНИЦЫ

После реализации базовых функций поиска предстоит проделать большую работу, прежде чем кто-нибудь захочет использовать вашу новую машину. Индекса недостаточно. Сложность заключается в том, как оценить страницы, чтобы предоставить конечному пользователю результаты поиска, которые наиболее соответствуют его представлению о том, что он ищет.

Вам нужно будет решить, какое значение придавать ключевым словам в теге плитки, описании и содержимом главной веб-страницы. Чтобы добиться хорошего результата, вам также потребуется увеличить количество ключевых слов, найденных в URL-адресе страницы, и проверить текст привязки входящих ссылок. Отслеживание входящих ссылок является наиболее полезным и сложным из вышеперечисленных способов. Вам нужно будет вести отдельную таблицу базы данных с информацией обо всех ссылках между индексируемыми страницами.

ЧТО ИНДЕКСИРОВАТЬ, А НЕ ИНДЕКСИРОВАТЬ

Другие препятствия, с которыми вы столкнетесь, когда начнете индексировать реальный интернет-контент, заключаются в том, что повсюду витает огромное количество бесполезного мусора, и в конечном итоге ваш индекс заполнится спамом, партнерскими страницами, припаркованными доменами, незавершенными домашними страницами без контента, ссылками. фермы, используемые оптимизаторами поисковых систем, зеркальные сайты, использующие каналы данных для создания тысяч страниц со списками продуктов или другим воспроизведенным контентом и т. д. и т. п.

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

ПАРСИРОВКА САЙТОВ

Существует миллион способов написания HTML, как правильных, так и неправильных, и при индексировании из Интернета вам придется обрабатывать их все.

При анализе ключевых слов со страниц вам необходимо обрабатывать не только полный стандарт HTML, но и все нестандартные способы, неофициально поддерживаемые интернет-браузерами.

Чтобы иметь возможность читать все страницы, вам также потребуется анализировать клиентский JavaScript, обрабатывать фреймы, CSS и iframe.
Это большая часть работы над общей поисковой системой, чтобы иметь возможность читать любой контент.

ПОЧЕМУ ТАК МНОГО URL-адресов?

Наконец, вам придется иметь дело с тем фактом, что многие веб-сайты имеют множество URL-адресов, указывающих на одну и ту же веб-страницу. Просто посмотрите на этот пример:

dmoz.org
www.dmoz.org
dmoz.org/index.html
www.dmoz.org/index.html

Все эти URL-адреса указывают на одну и ту же веб-страницу. Если вы не создадите специальный код для этой обработки, вскоре в вашей поисковой системе появится 4 результата (по одному для каждого URL-адреса), которые будут вести на одну и ту же страницу. Пользователям вы не понравитесь.
Существует также возможность строк запроса, в которых идентификатор сеанса после вопросительного знака в URL-адресе будет создавать почти бесконечное количество URL-адресов для одной и той же веб-страницы.

google.com?SID=4434324325325
google.com?SID=4387483748377
google.com?SID=7654565644466

Для поисковой системы будет действительно большое количество страниц, содержащих один и тот же контент. Конечно, быстрое решение — не индексировать страницы, содержащие строку запроса. Или удалить строку запроса со страниц. Это работает, но при этом из вашего индекса будет удалено много легального контента (например, форумов).

Теперь у вас есть вся информация, необходимая для создания поисковой системы по сайту. Если вы собираетесь использовать общую поисковую систему в Интернете, вам необходимо включить гораздо больше деталей. Например, robots.txt, карты сайта, перенаправления, прокси, распознавание типов контента, расширенные алгоритмы ранжирования, а также обработка терабайтов данных. Подробнее я расскажу в следующей статье. Удачи в вашем следующем проекте поисковой системы!

КатегорииБлог
  1. Pingback:Твиты, в которых упоминается TopTut.com – Лучшие руководства » Как создать поисковую систему на PHP и MySQL – Topsy.com

  2. Pingback:TopTut.com – Лучшие руководства »Как создать поисковую систему на PHP… | Поисковое продвижение в Интернете

Комментарии закрыты.