Як створити пошукову систему на PHP і MySQL

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

Так навіщо тоді створювати власну пошукову систему? — Звичайно, щоб заробити!

…і стати відомим як творець наступної великої пошукової системи або тому, що як програміст чи інженер ви любите виклики. Створити пошукову систему для загальнодоступного Інтернету складно, і якщо ви схожі на мене, вам подобається вирішувати складні проблеми.

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

ОСНОВИ ПОШУКУ

Основою будь-якої ВЕЛИКОЇ пошукової системи є індекс від слова до веб-сторінки, по суті, довгий список слів і те, наскільки добре вони стосуються різних веб-сторінок.

Щоб створити пошукову систему, вам потрібно зробити чотири речі:

* Вирішіть, які сторінки отримати, і завантажте їх
* Розбирайте слова, фрази та посилання зі сторінкиgoogle-custom-se
* Оцініть кожне ключове слово або ключову фразу, вказавши, наскільки ця фраза пов’язана з цими сторінками, і збережіть оцінки в індексі пошукової системи
* Надайте користувачам можливість запитувати індекс і отримати список відповідних веб-сторінок

Це не складно для досвідченого програміста. Це можна зробити за день, якщо ви знаєте регулярні вирази та маєте певний досвід роботи з HTML і базами даних.

Тепер у вас є робоча пошукова система, просто додайте багато комп’ютерів і жорстких дисків, і незабаром ви проіндексуєте весь Інтернет. Якщо ви не готові зайти так далеко, терабайтний диск вміщуватиме індекс близько 50 мільйонів сторінок.

ЯК ОЦІНЮВАТИ СТОРІНКИ

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

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

ЩО ІНДЕКСУВАТИ, А ЩО НЕ ІНДЕКСУВАТИ

Інші перешкоди, які ви зустрінете, коли почнете індексувати справжній Інтернет-вміст, полягає в тому, що скрізь плаває марна кількість непотрібного сміття, і зрештою ваш індекс буде переповнений спамом, партнерськими сторінками, припаркованими доменами, незавершеними домашніми сторінками без вмісту, посиланнями ферми, які використовуються оптимізаторами пошукових систем, сайти-дзеркала, які використовують канали даних для створення тисяч сторінок зі списком продуктів або іншим відтвореним вмістом тощо, тощо…

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

ПАРСИНГ ВЕБ-САЙТІВ

Існує мільйон способів, як правильних, так і неправильних, для написання HTML, і коли ви індексуєте з Інтернету, вам потрібно буде впоратися з усіма ними.

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

Щоб мати можливість читати всі сторінки, вам також потрібно буде проаналізувати javascript на стороні клієнта, обробляти фрейми, CSS та iframes.
Це значна частина роботи над загальною пошуковою системою, щоб мати можливість читати всі види вмісту.

ЧОМУ ТАК БАГАТО 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 … | Пошукове просування в Інтернеті

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