Принципи роботи пошукових систем

08.03.2015 0 By svvas

Майже кожен день ми користуємося  такими пошуковими системами  як Google, Яндекс, Yahoo, Meta та ін. Але, більшість із нас, не розуміє як працює сам механізм цих систем.
Незважаючи на те, що кожена пошукова система  має свої особливості  в алгоритмах пошуку та ранжування  результатів, принципи роботи всіх пошукових систем однакові.
Якщо розглядати процес пошуку інформації в мережі, його можна розбити на такі етапи: збір інформації зі сторінок сайтів в мережі Інтернет, індексація сайтів, пошук за запитом та ранжування результатів. Розглянемо кожен з етапів окремо.

 

Збір інформації 

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

Важливо, щоб спілкування вашого сайту з ботом було приємним для обох сторін. У ваших інтересах, щоб бот довго не затримувався на сайті, щоб не вантажити зайвий раз сервер, і в той же час необхідно, щоб він правильно зібрав усі дані з усіх потрібних сторінок. В інтересах робота також зробити збір швидким, щоб приступити до обробки наступного сайту в таблиці розкладів. Для цього вам необхідно переконатися, що сайт доступний, що немає проблем з навігацією по сайту (flash і javascript меню роботи ще погано розпізнають), що відсутні биті сторінки (що віддають 404 помилку), не змушувати бота ходити по сторінках, які доступні тільки зареєстрованим користувачам і так далі. Також слід пам’ятати, що для web-павуків існує обмеження на глибину проникнення (рівень вкладеності) і максимальний розмір сканованого тексту (зазвичай 256кб).

Управляти доступом на різні ресурси для пошукового робота можна за допомогою файлаrobots.txt. Карта сайту sitemap.xml також може допомогти роботу, якщо з яких-небудь причин навігація по сайту йому утруднена.

 

Індексація сайтів

 

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

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

Пошук за запитом

 

При пошуку, першою справою, аналізується запит, введений користувачем (відбувається препроцессінг запиту), в результаті якого обчислюються ваги для кожного зі слів.

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

similatiry (Q, D) = SUM (wqk * wdk),

де similatiry (Q, D) – схожість запиту Q з  документом D;
wqk – вага k-го слова в запиті;
wdk – вага k-го слова в документі.

 

Документи, найбільш схожі з запитом, потрапляють в результати пошуку.

Ранжування результатів

 

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

вага сторінки (віц, PageRank);
авторитетність домену;
релевантність тексту запиту;
релевантність текстів зовнішніх посилань запитом;
а також безліч інших чинників ранжування.
Існує спрощена формула ранжування, яку можна знайти в деяких статтях оптимізаторів:

Rа (x) = (m * Tа (x) + p * Lа (x)) * F (PRa),

де:
Rа (x) – підсумкове відповідність документа а запитом x,
Tа (x) – релевантність тексту (коду) документа а запитом x,
Lа (x) – релевантність тексту посилань з інших документів на документ а запитом x,
PRа – показник авторитетності сторінки а, константа відносно х,
F (PRa) – монотонно неспаднаа функція, причому F (0) = 1, можна припустити, що F (PRa) = (1 + q * PRа),
m, p, q – якісь коефіцієнти.

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

Comments

comments