Please use this identifier to cite or link to this item:
https://er.chdtu.edu.ua/handle/ChSTU/7782| Title: | Розробка системи повторного індексування веб-сторінок для Search Engine |
| Authors: | Палагін, Володимир Васильович Ніколенко, Владислав Віталійович |
| Keywords: | інформаційно-пошукові системи;індексація веб-сторінок;повторна індексація;пошук інформації;оптимізація пошукових алгоритмів;ефективність пошукової системи |
| Issue Date: | 2022 |
| Abstract: | Метою роботи є покращення релевантності даних веб ресурсів відповідно до індивідуальних особливостей користувачів за допомогою застосування безпечного методу повторного індексування. |
| URI: | https://er.chdtu.edu.ua/handle/ChSTU/7782 |
| Appears in Collections: | 125 Кібербезпека та захист інформації (Безпека інформаційних і комунікаційних систем) |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| М_125_Ніколенко_Палагін.pdf Restricted Access | 7.25 MB | Adobe PDF | View/Open Request a copy |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.
Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ ФАКУЛЬТЕТ ЕЛЕКТРОННИХ ТЕХНОЛОГІЙ, АВТОТРАНСПОРТУ ТА МАШИНОБУДУВАННЯ КАФЕДРА РОБОТОТЕХНІЧНИХ І ТЕЛЕКОМУНІКАЦІЙНИХ СИСТЕМ ТА КІБЕРБЕЗПЕКИ До захисту допущено завідувач кафедри РТСК д.т.н., професор _______________ В.В. Палагін "_____" _____________ 2022 року Пояснювальна записка до кваліфікаційної роботи магістра (освітньо-кваліфікаційний рівень) на тему «Розробка системи повторного індексування веб-сторінок для Search Engine» Виконав: студент 2 курсу, групи БІ-011 Спеціальності 125 – «Кібербезпека» , (шифр і назва спеціальності) освітньої програми «Безпека інформаційних і комунікаційних систем» (назва освітньої програми) Ніколенко В.В. (прізвище та ініціали) Керівник Палагін В.В. (прізвище та ініціали) Рецензент Андрієнко В.О. (прізвище та ініціали) Черкаси – 2022 року Форма № Н-9.01 ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ Факультет електронних технологій, автотранспорту та машинобудування Кафедра робототехнічних і телекомунікаційних систем та кібербезпеки Освітньо-кваліфікаційний рівень магістр Спеціальність 125 – Кібербезпека Освітня програма – Безпека інформаційних і комунікаційних систем ЗАТВЕРДЖУЮ Завідувач кафедри В.В. Палагін “_____” ___________________ 2022 року ЗАВДАННЯ НА КВАЛІФІКАЦІЙНУ РОБОТУ СТУДЕНТУ Ніколенко Владислав Віталійович ____________________ (прізвище, ім’я, по батькові) 1. Тема проекту (роботи) Розробка системи повторного індексування веб-сторінок для Search Engine керівник проекту (роботи) Палагін Володимир Васильович (прізвище, ім’я, по батькові, науковий ступінь, вчене звання) затверджені наказом вищого навчального закладу від «___» __________ 2022 року № ___ 2. Термін здачі студентом закінченої роботи “ 10 ”грудня 2022 року __________ 3. Вихідні дані до роботи: Створення оптимізованого механізму для повторної індексації веб сторінок; Розробка системи повторної індексації веб сторінок; оцінка ефективності запропонованого методу та тестування оптимізованої пошукової системи. 4. Зміст розрахунково-пояснювальної записки (перелік питань, що їх належить розробити) Аналіз методів пошуку та індексації інформації в сучасних інформаційно-пошукових системах; Створення удосконаленого механізму для повторної індексації веб сторінок; Розробка системи повторної індексації веб сторінок; Оцінка ефективності запропонованого методу та тестування оптимізованої пошукової системи. 5. Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень, плакатів) 1. Аналіз методів пошуку та індексації інформації в сучасних інформаційно-пошукових системах; 2. Створення удосконаленого механізму для повторної індексації веб сторінок; 3. Розробка системи повторної індексації веб сторінок; 4. Оцінка ефективності запропонованого методу та тестування оптимізованої пошукової системи .6. Консультанти з проекту (роботи) із зазначенням розділів проекту, що їх стосуються Розділ Прізвище, ініціали та посада Підпис, дата консультанта завдання завдання видав прийняв 7. Дата видачі завдання КАЛЕНДАРНИЙ ПЛАН № Назва етапів дипломного проекту Термін з/п (роботи) виконання етапів Примітка проекту (роботи) 1. Аналіз технічного завдання та пошук літератури 18.09.22 – 09.10.22 2. Аналіз сучасних інформаційно-пошукових систем 10.10.22 – 24.10.22 3. Створення удосконаленого механізму для повторної індексації веб сторінок у 25.10.22 – 10.11.22 4. Розробка системи повторної індексації веб сторінок 11.11.22 – 25.11.22 7. Виконання розділу охорони праці 26.11.22 – 28.11.22 8. Оформлення пояснювальної записки 29.11.22 – 01.12.22 9. Оформлення презентації 02.12.22 – 09.12.22 Студент Ніколенко В.В. ( підпис ) (прізвище та ініціали) Керівник проекту (роботи) Палагін В.В. ( підпис ) (прізвище та ініціали) ЗМІСТ ВСТУП .................................................................................................................... 7 РОЗДІЛ 1. АНАЛІЗ МЕТОДІВ ПОШУКУ ТА ІНДЕКСАЦІЇ ІНФОРМАЦІЇ В СУЧАСНИХ ІНФОРМАЦІЙНО-ПОШУКОВИХ СИСТЕМАХ ..................... 10 1.1 Аналіз сучасних інформаційно-пошукових систем ................................ 10 1.2.1 Пошукова система на основі краулера ............................................... 11 1.1.2 Системи, керовані людиною ............................................................... 13 1.1.3 Гібридні пошукові системи ................................................................. 14 1.1.4 Метапошукові системи ........................................................................ 16 1.1.5 Порівняння пошукових систем ........................................................... 18 1.2 Загальний алгоритм пошуку інформації в мережі Інтернет ................... 21 1.3 Аналіз проблем існуючих методів повторного індексування веб сторінок ............................................................................................................................ 24 1.4 Висновки до розділу ................................................................................... 26 РОЗДІЛ 2. СТВОРЕННЯ УДОСКОНАЛЕНОГО МЕХАНІЗМУ ДЛЯ ПОВТОРНОЇ ІНДЕКСАЦІЇ ВЕБ СТОРІНОК ................................................... 27 2.1 Критерії для розроблення удосконаленого методу індексації веб сторінок в інтернет мережі .............................................................................. 27 2.2 Інформаційно-пошукова система .............................................................. 29 ЧДТУ.22.21092.007 ПЗ Зм. Арк. № докум. Підпис Дата Розроб. Ніколенко В.В. Розробка системи повторного Літ. Аркуш Аркушів Перевір. Палагін В.В. індексування веб-сторінок для 4 76 Search Engine Н.Контрол. Байрак А.В. ЧДТУ, БІ-011 Затвердж. Палагін В.В. 2.3 Опис оптимізованого методу повторної індексації веб сторінок .......... 36 2.3.1 Рангування за повторенням ключових слів у різних користувачів . 37 2.3.2 Рангування за кількістю переходів користувачів по посиланню .... 39 2.3.3 Рангування за категоріями, групами та темами сайтів, що цікаві користувачам ................................................................................................. 40 2.4 Висновки до розділу ................................................................................... 42 РОЗДІЛ 3. РОЗРОБКА СИСТЕМИ ПОВТОРНОЇ ІНДЕКСАЦІЇ ВЕБ СТОРІНОК ........................................................................................................... 43 3.1 Розробка інформаційно-пошукової системи ............................................ 43 3.2 Механізм повторної індексації веб сторінок ........................................... 48 3.3 Реєстрація та авторизація користувачів ................................................... 49 3.4 Механізм індексування веб сторінки із застосуванням методів оптимізації ......................................................................................................... 51 3.5 Висновки до розділу ................................................................................... 57 РОЗДІЛ 4. ОЦІНКА ЕФЕКТИВНОСТІ ЗАПРОПОНОВАНОГО МЕТОДУ . 58 4.1 Результат роботи запропонованого методу ............................................. 58 4.2 Порівняння результатів ефективності запропонованого методу ........... 61 4.3 Висновки до розділу ................................................................................... 65 ВИСНОВОК ......................................................................................................... 66 СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ............................................................ 67 ДОДАТОК А ........................................................................................................ 69 Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 5 Перелік умовних позначень ПЗ — програмне забезпечення. API (Application Programming Interface) — інтерфейс прикладного програмування, набір методів, класів, бібліотек, функцій, що забезпечують взаємодію програм між собою. IDE (Integrated Development Environment) — інтегроване середовище розробки застосунків. Crawler — також відомий як веб-павук — це бот, який шукає та індексує вміст в Інтернеті. По суті, веб-сканери відповідають за розуміння вмісту веб- сторінки, щоб вони могли отримати його, коли буде зроблено запит. URL — стандартизована адреса певного ресурсу (як-от документ або зображення) в інтернеті SEO — Search Engine Optimization, виконує внутрішню і зовнішню оптимізацію сайту з метою підвищення позиції сайту в списку сторінок, знайдених пошуковими системами за конкретними запитами. Метадані — це дані, що характеризують або пояснюють інші дані. Алгоритм пошуку — метод, користуючись яким пошукова машина приймає рішення про включення чи не включення посилання на сторінку або документ у результаті пошуку. Коефіцієнт повноти пошуку — це відношення кількості одержаних релевантних результатів до загальної кількості існуючих у пошуковому масиві документів, релевантних даному пошуковому запиту. Коефіцієнт точності пошуку — це відношення кількості релевантних результатів до загальної кількості документів, посилання на які містяться у відповіді ІПС. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 6 ВСТУП Актуальність теми. Веб-сайт — це сукупність логічно зв’язаної гіпертекстової інформації, оформленої у вигляді окремих сторінок і доступної в мережі Інтернет. Користуватися швидким і зручним сайтом із хорошим контентом — одне задоволення. Якщо ви оновили сайт або створили новий, то чим швидше він з’явиться в результатах пошуку, тим краще. Так, пошукові системи, зокрема Гугл, прагнуть мати повноцінну інформацію про веб-сайти в інтернеті. Це дозволяє їм витягувати дані з баз і надавати користувачам, які її шукають. Пошукові системи постійно сканують та аналізують веб-сайти. Таким чином, вони дізнаються, чи потрібно оновлювати інформацію про сторінки у своїх базах даних. За допомогою пошукових ботів — кравлерів, пошукова система аналізує зміни у веб ресурсах та індексує їх. Цей процес допомагає підтримувати інформацію в актуальному стані та дозволяє видавати на запити користувачів останню інформацію зі всіх сайтів. Зі зростанням кількості веб ресурсів росте й час потрібний для їх оновлення в індексах пошукової системи. Об’єктом дослідження є механізм повторного сканування та індексації веб ресурсів у мережі Інтернет. Предметом дослідження є методи актуалізації даних пошуку в індексах на основі індивідуальних особливостей користувачів інформаційно- пошукових систем. Метою роботи є покращення релевантності даних веб ресурсів відповідно до індивідуальних особливостей користувачів за допомогою застосування безпечного методу повторного індексування. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 7 Наукова новизна полягає в створенні методу, який, на відміну від існуючих методів повторного індексування інформації в мережі Інтернет, дозволяє збільшити частоту їх оновлення в індексах пошукової системи. Запропонований метод оптимізації сканування дозволив виокремити найбільш популярні веб-сторінки, що будуть актуалізовані за допомогою виділення окремих зацікавленостей користувачів і підвищенню пріоритету відповідних веб ресурсів у сучасних пошукових системах. Практична цінність розробленого підходу полягає в тому, що запропонований метод повторної індексації веб сторінок, відповідно до індивідуальних особливостей користувачів, дозволив збільшити швидкість видачі релевантної інформації, завдяки чому покращити користувацький досвід від використання системи. Здійснено програмну реалізацію запропонованого методу, що може бути використана для пошуку релевантної інформації та налаштування роботи із цією інформацією. Актуальність даної роботи обумовлена зростанням кількості веб- сторінок, що має вплив на швидкість їх індексації та актуалізації даних у пошукових алгоритмах, та потребує створення удосконалених методів повторного індексування веб ресурсів. Для досягнення поставленої мети в роботі вирішені такі завдання: ● Проведено аналіз методів пошуку та індексації інформації в сучасних інформаційно-пошукових системах; ● Розроблено оптимізований метод індексування веб сторінок; ● Розроблено безпечну систему повторної індексації веб сторінок; ● Проведено оцінку ефективності запропонованого методу та тестування оптимізованої пошукової системи; Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 8 Структура та обсяг роботи. Робота складається із вступу, 4 розділів та загальних висновків, переліку використаних джерел, що містить 15 найменувань на 2 сторінках, 44 рисунки і 3 таблиці. Загальний обсяг роботи – 76 сторінок, з них 66 сторінок основного тексту. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 9 РОЗДІЛ 1. АНАЛІЗ МЕТОДІВ ПОШУКУ ТА ІНДЕКСАЦІЇ ІНФОРМАЦІЇ В СУЧАСНИХ ІНФОРМАЦІЙНО-ПОШУКОВИХ СИСТЕМАХ 1.1 Аналіз сучасних інформаційно-пошукових систем Інтернет як один із видів інформаційних технологій забезпечує можливість спілкування і передавання інформації між користувачами (комп’ютерами) по всьому світу. Він весь час оновлюється, змінюється. У ньому з’являється нова інформація у великих обсягах. Тому для пошуку інформації існують спеціальні пошукові сервери, за допомогою яких ми можемо знайти потрібну інформації. Пошук даних в Інтернеті з використанням пошукових систем здійснюється за ключовими словами, які вводять у спеціальне поле пошуку. Але не можна гарантувати, що всі знайдені документи стосуються потрібної теми. Адже ти отримаєш посилання на всі сайти, де зустрічаються ці слова. Результат пошуку в Інтернеті залежить від уміння користувача правильно визначати ключові слова. Для більш точного пошуку можна використовувати відразу кілька слів. При цьому слова мають якомога точніше відображати суть шуканої інформації. На даний час відомі такі пошукові системи, як Google, Bing, DuckDuckGo і багато інших. Алгоритми пошукових систем унікальні для кожної пошукової системи й так само важливі, як і ключові слова. Існує чотири типи пошукових систем: з пошуковими роботами, керовані людиною, гібридні й мета-системи. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 10 1.2.1 Пошукова система на основі краулера Краулер, часто відомий як павук або робот-павук, а іноді скорочено — сканер, — це Інтернет-бот, який систематично переглядає всесвітню павутину й зазвичай запускається пошуковими системами з метою індексування Інтернету (веб-павук). Краулер потрібен для обходу мережі і створення списків веб-сторінок. Індекс- великий архів копій веб-сторінок. Мета програмного забезпечення — оцінювати результати пошуку. Завдяки тому, що пошуковий робот у цьому механізмі постійно досліджує мережу, інформація більшою мірою актуальна. Самою популярною системою, що побудована на основі використання краулерів є Google. Google є основною інформаційно-пошуковою системою, що опрацьовує велику частину запитів зі всього світу. (Рисунок 1.1) Цей сервіс знаює велика кількість активних користувачів інтернету. Кожен місяць система обробляє понад сорок мільярдів запитів, проводить індексацію двадцяти п’яти мільярдів сторінок у віртуальній мережі. Рисунок 1.1 — Логотип пошукової системи Google. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 11 Щоб дати користувачеві найточнішу відповідь, Google використовує алгоритми [1], які вибирають сайти в індексі на основі кількох сотень різних факторів. Вони враховують не лише кількість та розміщення ключових слів, релевантних словосполучень, а і якість, юзабіліті сайту, наскільки добре він захищає конфіденційні дані. Факторів ранжирування безліч, і потрібно відповідати кожному. При цьому сам процес визначення позиції сайту та відображення результатів пошуку займає у Google приблизно півсекунди. Пошукові системи Google сканують всю мережу, щоб отримати доступні веб-сторінки. Частота сканування залежить від пошукової системи, і між скануваннями може пройти кілька днів. Це причина, чому іноді ви можете бачити вміст старої або видаленої сторінки в результатах пошуку. Результати пошуку покажуть новий оновлений вміст, як тільки пошукові системи знову просканують ваш сайт. Індексування — це наступний крок після сканування, який є процесом ідентифікації слів та виразів, які найкраще описують сторінку. Ідентифіковані слова називаються ключовими словами, а сторінка призначається ідентифікованим ключовим словам. Іноді, коли веб -сканер не розуміє значення вашої сторінки, ваш сайт може зайняти нижче місце в результатах пошуку. Тут вам потрібно оптимізувати свої сторінки для пошукових систем, щоби переконатися, що вміст легко зрозумілий. Після того, як сканери підберуть правильні ключові слова, ваша сторінка буде призначена цим ключовим словам і займає високе місце в результатах пошуку. Пошукова система порівнює пошуковий рядок у пошуковому запиті з індексованими сторінками з бази даних. Оскільки ймовірно, що більше ніж одна сторінка містить рядок пошуку, пошукова система починає обчислювати релевантність кожної зі сторінок у її індексі за допомогою рядка пошуку. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 12 Існують різні алгоритми розрахунку релевантності. Кожен із цих алгоритмів має різну відносну вагу для таких загальних факторів, як щільність ключових слів, посилання або метатеги. Ось чому різні пошукові системи дають різні сторінки результатів пошуку для одного рядка пошуку. Відомо, що всі основні пошукові системи періодично змінюють свої алгоритми. Якщо ви хочете, щоб ваш сайт залишався вгорі, вам також потрібно адаптувати свої сторінки до останніх змін. Це одна з причин приділяти постійні зусилля SEO, якщо вам подобається бути на вершині. Останнім етапом діяльності пошукових систем є отримання результатів. По суті, це просто відображення їх у браузері в порядку. Пошукові системи сортують нескінченні сторінки результатів пошуку в порядку найбільш релевантних для найменш релевантних сайтів. 1.1.2 Системи, керовані людиною Довідники, керовані людиною, також називаються відкритою системою каталогів, залежать від діяльності людей, що стосуються списків. Нижче описано, як працює індексація в каталогах, керованих людьми. Ці пошукові системи одержують списки веб-сторінок. Каталог містить адресу, заголовок і короткий опис сайту. Каталог ресурсів шукає результати тільки з описів сторінки, представлених йому веб- майстрами. Позитивна сторона каталогів у тому, що всі ресурси перевіряються вручну, отже, і якість контенту буде краще в порівнянні з результатами, отриманими системою першого типу автоматично. Але існує і недолік — оновлення даних каталогів виконується вручну й може істотно відставати від реального стану справ. Ранжування сторінок не може миттєво змінюватися. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 13 Як приклади таких систем можна привести каталог Yahoo, dmoz і Galaxy. Ці довідники були ідеальними прикладами каталогів, керованих людиною. На жаль, автоматизовані пошукові системи, такі як Google, вилучили з Інтернету всі ці пошукові системи в стилі каталогів, керовані людьми. 1.1.3 Гібридні пошукові системи Гібридні пошукові системи використовують індексування на основі сканера та ручне індексування для розміщення сайтів у результатах пошуку. Більшість пошукових систем на основі кравлерів, таких як Google, в основному використовують сканери як основний механізм, а каталоги, керовані людиною, — як вторинний механізм. Наприклад, Google може взяти опис веб-сторінки з каталогів, створених людьми, і показати їх у результатах пошуку. У гібридних системах існує ручна фільтрація результатів пошуку, щоб видалити скопійовані та спам-сайти. Коли сайт визначається для спаму, власнику веб-сайту необхідно вжити коригувальних заходів та надіслати його повторно пошуковим системам. Експерти роблять огляд поданого сайту вручну, перш ніж знову включити його в результати пошуку. Таким чином, незважаючи на те, що сканери керують процесами, управління є ручним для моніторингу та природного показу результатів пошуку. Microsoft Bing — це пошукова система, створена та керована Microsoft. Він замінив попередні пошукові пропозиції, такі як MSN Search, Live Search в Windows Live Search. Microsoft Bing (Рисунок 1.2) надає функції пошуку в Інтернеті, зображеннях, відео та на картах. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 14 Рисунок 1.2 — Логотип пошукового двигуна Bing. Коли Bing сканує та індексує сторінки в Інтернеті, він приймає рішення щодо сайтів, які найімовірніше зацікавлять користувачів. Інтернет практично нескінченний за розміром; неможливо вибрати всі веб-сторінки, тому деякі сторінки можуть бути відсутні в індексі Bing. Bing використовує карти сайту для пошуку URL-адрес і вмісту вашого веб-сайту. Карта сайту — це файл, який надає інформацію про URL-адреси, сторінки та інший вміст вашого сайту. Він повідомляє пошуковим роботам або сканерам, які файли та сторінки важливі на вашому сайті. Карта сайту також надає інформацію про те, коли ви востаннє оновлювали веб-сторінку та альтернативні мовні версії сторінки. Bing рекомендує використовувати XML-файл карти сайту, хоча вони також підтримують mRss, RSS і Atom 1.0. Власник сайту надсилає свою карту посилань за допомогою інструмента Bing Sitemap. За допомогою цього його сайт реєструється в системі індексації, що дозволить кравлерам Bing проіндексувати його й регулярно сканувати. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 15 1.1.4 Метапошукові системи DuckDuckGo — пошукова система без відстеження (Рисунок 1.3). Як «метапошукова система» DuckDuckGo отримує результати з багатьох джерел, включаючи Bing, Yahoo!, WolframAlpha та власний веб-сканер. Рисунок 1.3 — Логотип пошукового двигуна DuckDuckGo. DDG не відстежує ваші пошуки та не використовує їх для продажу цільової реклами. Якщо ваша конфіденційність важлива для вас, скористайтеся нею. DuckDuckGo є мета пошуковою системою, яка поєднує результати пошуку з різних пошукових систем (крім Google) і надає деякі унікальні послуги. У результаті ви отримаєте розширений список результатів пошуку, які відповідають вашому пошуковому запиту. Він може містити комбіновані, дубльовані або окремі посилання, які відповідають вашим критеріям пошуку. Таким чином, метапошукова система є посередником між клієнтом і різними пошуковими системами в Інтернеті (Рисунок 1.4). Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 16 Рисунок 1.4 — Схема роботи пошукового двигуна DuckDuckGo. DDG автоматично індексує Інтернет [2], тож вам не потрібно вручну надсилати їм свій веб-сайт. Насправді він використовує понад 400 джерел і результати пошуку Bing, тож якщо ви виконали попередні кроки для надсилання в Bing, ви зробили все, що вам потрібно, щоби пришвидшити індексацію вашого сайту на DuckDuckGo. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 17 Метапошук створює ілюзію більшого охоплення теми завдяки посиланню на інші пошукові сервіси, особливо якщо користувач шукає популярну або поширену інформацію. Однак, пошук часто закінчується кількома ідентичними результатами від запитуваних двигунів. Користувачам також важче здійснювати пошук із синтаксисом розширеного пошуку, який надсилається разом із запитом, тому результати можуть бути не такими точними, як коли користувач використовує інтерфейс розширеного пошуку на певній системі. Це призводить до того, що багато метапошукових систем використовують простий пошук. Мета-системи були корисні, коли пошукові системи були менш «розумними» й могли індексувати меншу кількість даних. Оскільки зараз індексований пошук набагато покращився, потреба в них зменшилася. 1.1.5 Порівняння пошукових систем У даний час більшість пошукових систем є гібридними, що дозволяє автоматизувати індексацію даних за допомогою кравлерів та уникнути використання людських ресурсів. З іншого боку, якщо власник сайту бажає оновити його сайт в індексі якнайшвидше й не чекати поки пошуковий бот знайде його сайт, то він може скористатися тригером через який буде передано посилання на сайт кравлеру. Сайт потрапить у чергу на індексування з найвищим пріоритетом і буде просканований у рамках однієї- двох годин. Такі тригери зручні для початкової індексації, але на постійній основі показують себе менш ефективними ніж краулери, оскільки власнику сайту потрібно «просити» кравлер оновити індекс його сайту вручну кожного разу. Саме тому пошукові сервіси продовжують шукати шляхи для автоматичної індексації даних і підтримки даних у релевантному стані. Розглянемо підходи популярних пошукових систем у таблиці 1.1. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 18 Таблиця 1.1 — Порівняння пошукових сервісів Google Bing DuckDuckGo Підхід до Hybrid based Hybrid based Meta search індексації Кількість 100 % 100 % Залежить від ресурсів, що інших систем реіндексуються Можливість так так ні оновити індекс тригером Таргетованість так ні ні на користувача Урахування так ні ні доменів Підтримка ні так так анонімності користувачів Сканування так так ні сертифікатів веб- ресурсу при індексації Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 19 Продовження таблиці 1.1 Платформа для Комбінована Комбінована Відсутня індексації Швидкість > 18 секунд Від 5 секунд до 5 Відсутня індексації веб хвилин сторінки Частота 3–4 тижні для Від двох днів до Індексування повторного веб-сайтів із 4 тижнів відсутнє індексування менш ніж 500 сторінками. Швидкість > 18 секунд > 20 секунд Відсутня повторної індексації веб сторінки Згідно з даними таблиці 1, ми можемо оцінити частоту та швидкість оновлення даних в індексі. Оскільки кількість веб-сторінок в інтернет-мережі є надзвичайно великою, пошуковим системам доводиться індексувати їх одна за одною, що розтягує цей процес на тижні. Одним із варіантів підвищення частоти оновлення веб сайтів є зменшення кількості даних які потрібно індексувати. Вилучення окремих сторінок, що не несуть цінності для користувачів, дозволяє зменшити проміжок між процесами індексації і покращити релевантність даних[3] (Рисунок 1.5). Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 20 Рисунок 1.5 — Порівняння проценту покриття кравлерами Google і Bing Розглянемо детальніше основний підхід до індексації веб сайтів за допомогою кравлерів. 1.2 Загальний алгоритм пошуку інформації в мережі Інтернет Термін «індексація сайту» сьогодні знайомий кожному веб майстру і практично кожному власникові онлайн-бізнесу. Індексація сайту — це збір інформації пошуковим роботом про контент, ключові фрази, посилання, зображення, що знаходяться на сторінках. Отримані відомості зберігаються в базі даних — пошуковому індексі. Ця інформація необхідна для того, щоб надалі надавати користувачам результати, які відповідають введеним запитам. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 21 Відсканований вміст, що отримав індекс (Рисунок 1.6) від бота відображається в призначеній для користувача видачі на потрібних вам позиціях. Якщо з яких-небудь причин аналітика ботів пройшла повз або ж URL потрапили під аналіз частково, яким би чудовим не був контент, або наскільки корисними не виявилися товари, клієнти цього не дізнаються і отримають у видачі своїх запитів посилання на магазини конкурентів. Рисунок 1.6 — Схема індексів документів Індексація є лише однією зі складових частин пошукового двигуна. У контексті пошукових систем ви можете знайти термін «сканування». Сканування ще не індексує сторінки, а лише переміщує робота між ними. Crawling — це відправка бота на аналізований сайт (Рисунок 1.7), тоді як індексування — це завантаження, обробка та збір даних для включення його до індексу пошукової системи. Сканування не означає, що адреса була проіндексована і з’явиться в результатах пошуку (Рисунок 1.8). Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 22 Рисунок 1.7 — Процес сканування та індексування веб сторінок. Рисунок 1.8 — Процес глубокого сканування веб сторінок із переходом по гіперпосиланням. Розміщення веб-адреси в індексі — це наступний етап після сканування. Не кожна просканована сторінка індексується, але кожна проіндексована просканована раніше (Рисунок 1.9). Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 23 Рисунок 1.9 — Детальний процес сканування та індексації веб сторінок. Потрібно розділяти поняття індексація та сканування. Бот проводить обидві процедури. Сканувати робот може досить швидко, а індексування — більш тривалий процес. 1.3 Аналіз проблем існуючих методів повторного індексування веб сторінок Індексування носить циклічний характер, тому потрібно постійно дбати про якість сайту та оновлення, щоб займати високі позиції в результатах видачі. Після першого відвідування роботи час від часу повертаються, щоби перевірити та проіндексувати будь-які зміни. Чим частіше вони зустрічають новий, цінний контент, тим більша ймовірність, що повернуться знову. І як результат: чим раніше він буде проіндексований, тим швидше з’явиться в результатах пошуку. Пошукові роботи постійно рівномірно завантажують сторінки сайту [4], далі викладаючи їх в оновлений індекс: Google оновлює індекс у постійному режимі, Яндекс під час оновлень пошукової бази, приблизно раз на три дні. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 24 Деякі веб-сайти не дозволяють сканерам відвідувати їх, це також є великою проблемою. Ці сторінки будуть виключені з індексу разом зі сторінками, на які ніхто не посилається. Інформація, яку збирає веб-сканер, потім використовується пошуковими системами. Це стає індексом пошукової системи. Кожна веб-сторінка, рекомендована пошуковою системою, переглядається сканером. Пошукові системи виконують дві основні функції: сканування і створення індексу, надання користувачам пошуку ранжируваного списку сайтів, які вони визначили найбільш актуальними. Щоб знайти релевантну інформацію, пошукова система повинна сканувати свій індекс веб- сторінок на предмет змісту, пов’язаного з пошуком користувача. Пошукова система створює цей індекс, використовуючи програму «веб-сканер». Проблема полягає в тому, що пошуковому алгоритмі в системі потрібно постійно оновлювати інформацію в мережі Інтернет, але оскільки сам алгоритм не знає, що інформація оновилась на веб-сторінці, йому потрібно постійно робити сканування веб-сторінок. Веб-сторінок у мережі Інтернет є дуже велика кількість, й у зв’язку з обмеженнями своєї обчислювальної здатності, пошукова система не може оновляти всі сторінки та підтримувати їх в актуальному стані. Цей алгоритм переглядає мережу Інтернет і зберігає інформацію про сторінки, які відвідує веб-сканер. Кожен раз, коли веб-сканер відвідує веб-сторінку, він робить її копію і додає свою адресу в індекс. Після цього веб-сканер переходить на всі існуючі адреси на сторінці, повторюючи процес копіювання та індексації. Потім він знову переходить на посилання в індексованих сторінках. Це є проблемою масштабування системи, сам алгоритм дуже багато витрачає ресурсів обчислювальної системи. Він продовжує робити це, накопичуючи величезний індекс зі множини веб- сторінок. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 25 1.4 Висновки до розділу Пошукові системи по різному реалізують механізми індексування веб сторінок. Залежно від потреб користувача, особливості, функціональності системи та її спрямованості, по різному виконується сканування веб ресурсів. У перші дні Інтернету пошукові системи, що працювали від людини, були популярним і важливим джерелом інформації. Технологічний світ дуже швидко рухається до автоматизації та штучного інтелекту, тому жодна з пошукових систем, що працюють на людині, не змогла пережити цю швидку зміну. Основною метою індексування веб сторінок є актуалізація їх даних в індексі пошукового двигуна. Саме актуалізація даних, як основна мета цієї роботи, буде врахована при розробці механізмів повторного індексування. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 26 РОЗДІЛ 2. СТВОРЕННЯ УДОСКОНАЛЕНОГО МЕХАНІЗМУ ДЛЯ ПОВТОРНОЇ ІНДЕКСАЦІЇ ВЕБ СТОРІНОК 2.1 Критерії для розроблення удосконаленого методу індексації веб сторінок в інтернет мережі Ми знаємо, що чим швидше кравлери просканують сайт і проіндексують його, тим швидше він відобразиться в пошуку користувачів. Саме за це відповідає перша індексація веб сторінки. Усі наступні процеси індексування будуть актуалізувати та оновлювати ключові слова й дані сайту в індексі, що допоможуть користувачам при пошуку знаходити релевантні дані. Актуалізація даних, як головна ціль і критерія цієї роботи, буде взята за основу при створенні удосконаленого методу індексації веб сторінок. Основними критеріями для розробленої системи є: ● Покращення актуальності інформації в індексах з урахуванням інтересів користувачів; ● Зменшення часового проміжку між процесами повторної реіндексації веб-сторінок, та досягнення можливості оновлення даних веб-ресурсів в індексах у режимі реального часу; ● Розроблена система повинна працювати без ризику перевантаження серверів , на яких вона розташована. Розглядаючи кожний із критеріїв окремо можна виділити основні методи, що задовольняють потреби для системи повторної індексації. Швидкісна актуалізація може досягати такими методами: ● Повторна індексація веб сторінок за рейтингом популярних запитів користувачів; ● Повторна індексація окремих веб сторінок за рейтингом переходів; Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 27 ● Повторна індексація категорій та груп веб сторінок за рейтингом переходів. Зменшення часового проміжку та досягнення актуалізації даних у режимі реального часу може досягатись завдяки виокремленню певної групи веб сторінок, що будуть реіндексуватися незалежно від основних регулярних механізмів індексування пошукової системи. Об’єднавши процеси рангування веб сторінок відповідно до методів, що були описані вище, ми можемо виокремити певну частину веб-сайтів, що цікаві користувачам і мають оновлюватися частіше за інші. Виокремлення такої малої групи сайтів дозволить проводити індексування без ризику перевантаження серверу, оскільки вона працює з меншою кількістю даних на відміну від регулярних систем. Таким чином усі критерії для розробленої системи будуть досягнуті. Серед інших методів для оптимізації процесу повторної індексації можна розглянути: ● Категоризація та групування сайтів за тематикою, що буде використовуватись для вибору окремої групи сайтів відповідно до популярності запитів користувачів; ● Розрахунок середнього значення оновлення веб сторінок сайту та взяття його до уваги при підготовці до автоматичного запланованого процесу індексації; ● Аналіз метаданих сайту та хеша веб сторінки з останніми наявними в базі. У випадку якщо дані сайту не змінились, то повторна індексація не буде проводитись; ● Тригер, що буде форсити оновлення індексів сайту зі сторони клієнта; ● Логування останньої дати індексування веб сторінки для визначення пріоритетності й потреби повторного індексування. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 28 2.2 Інформаційно-пошукова система Для проведення детального аналізу й оцінки релевантності даних в індексах із механізмом реіндексації та без нього, буде розроблено пошуковий сервіс у який буде інтегровано всю відповідну логіку з застосуванням методик оптимізації цього процесу. Пошуковий сервіс буде побудований на основі самого популярного підходу до сканування веб сторінок — кравлерів, що будуть сканувати мережу та наповнювати індекс даними сайтів. Сервіси такого типу складаються з пошукового бота, механізму індексації, та програмного забезпечення, що проводить аналіз введеного користувачем пошукового запиту. У якості мови програмування для цього сервісу було обрано мову Java. Для індексування веб сторінок було використано безкоштовну бібліотеку з відкритим кодом — Apache Lucene. Особливостями Lucene є: ● є одним із портів Lucene; ● швидкість індексації — 3.8Mb\c; ● розмір індексу 20–30 % від розміру даних. Отримання даних із веб сторінок та їх парсинг здійснюється за допомогою бібліотеки Jsoup. Запропонований варіант пошукової системи складається з трьох ключових частин (Рисунок 2.1): 1. Механізм кравлингу даних; 2. Механізм індексації даних; 3. Механізм пошуку даних. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 29 Рисунок 2.1 — Схема пошукової системи. Розглянемо детальніше кожний пункт схеми пошукового сервісу (Рисунок 2.2). Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 30 Рисунок 2.2 — Схема роботи кравлера з підтримкою глибокого сканування Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 31 Запропонований механізм кравлингу включає поглиблену індексацію кожної веб сторінки. Такий підхід дозволяє кравлеру переходити через веб посилання, що він знаходить на сторінці, на інші веб-ресурси. Таким чином запустивши кравлер лише раз він буде продовжувати сам збирати інформацію без потреби ручного вказування посилань на сторінки, що потрібно індексувати. Власникам веб-сайтів важливо розуміти, що кравлер — це не людина. Кравлер із його хаотичними переходами по всіх гіперпосиланнях може нашкодити розробнику сайту, та ускладнити аналізування метрик і статистики відвідування тих чи інших сторінок його клієнтами. Для відділення кравлерів від інших людей вони використовують специфічний UserAgent, що зберігається в хедері запиту і відіграє роль «паспорту». Юзер агент міститься в кожному запиті, що надсилається на веб ресурс. Зазвичай він містить у собі інформацію про браузер, комп’ютер користувача і версію його операційної системи. Ця інформація надсилається як користувачами, так і пошуковими ботами (Рисунок 2.3). Наприклад googleBot, який використовується компанією Google для кравлингу даних, використовує юзер агент Googlebot/2.1 (+http://www.google.com/bot.html). Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 32 Рисунок 2.3 — Запит користувача на сервер із Юзер Агентом При переході на веб сторінку кравлер проаналізує її вміст відправить його на сервер у вигляді html-розмітки. Сервер у свою чергу розпарсить контент ресурсу й добавить його в індекс за допомогою бібліотеки Lucene. У разі якщо кравлер проаналізує всі наявні ресурси, що були знайдені під час сканування (Рисунок 2.4), то він припинить свою роботу й перейде в режим очікування до наступного його виклику. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 33 Рисунок 2.4 — Схема глибокого сканування У результаті сканування всі веб-сторінки, що були проскановані кравлером, будуть збережені в індексі. Доступ до індекса надається бібліотекою Lucene, що надає можливість зберігати, сортувати та шукати сайти за ключовими словами. Саме завдяки методам, що надає бібліотека, був побудований механізм пошуку веб сторінок. Для пошуку інформації за допомогою пошукової системи користувач формулює запит. Введений користувачем текст розбивається на ключові слова, що будуть використані для пошуку відповідних індексів веб ресурсів. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 34 Рисунок 2.5 — Схема роботи пошукового механізму Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 35 У ході цієї роботи буде розроблений пошуковий сервіс на основі якого буде будуватися оптимізований механізм повторного індексування веб- сторінок. 2.3 Опис оптимізованого методу повторної індексації веб сторінок Новий оптимізований метод реіндексації веб сторінок буде спрямований на актуалізацію цікавих користувачам сторінок у близькому до реального часі. Такого роду оптимізаія буде досягатися за рахунок системи рангування веб сторінок, відповідно до якої веб сторінки будуть отримувати підвищений пріоритет для процесу повторної реіндексації. Рангування може складатись із таких основних методів: ● Рангування за частотою ключових слів, що вводять користувачі в пошуковій системі в певний період часу; ● Рангування за рейтингом переходів по посиланням на окремі сторінки; ● Виокремлення окремих груп, категорій та тем веб сторінок, що цікаві користувачам, та рангування їх у системі. Розглянемо детальніше кожний із цих методів. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 36 2.3.1 Рангування за повторенням ключових слів у різних користувачів Виокремлення певних ключових слів у пошукових запитах користувачів та розрахунок частоти їх появи за певний проміжок часу дозволить зрозуміти зацікавленості користувачів у певних темах. Пошукова система Google вже має схожі механізми логування, що дозволяють відслідковувати тенденції пошуку користувачів. Google навіть надає зручний API, що дозволяє відобразити частоту пошуку за словом у вигляді графіка (Рисунок 2.6). Рисунок 2.6 — Частота запитів користувачів за ключовим словом ‘Ukraine’. Взявши за основу наявні механізми логування в пошукових системах, з’являється можливість перевикористати їх для пріоритезації веб сайтів для повторного реіндексування (Рисунок 2.7). Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 37 Рисунок 2.7 — Логування та аналіз ключових слів для рангування індексів У результаті цього ми можемо отримати чітке відображення тих тем, що цікаві користувачам і підвищити швидкість їх актуалізації в індексах, що зберігаються в системі. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 38 2.3.2 Рангування за кількістю переходів користувачів по посиланню Хоча рангування за частотою пошуку по ключовим словам допоможе виділити окремі сайти, що потрібно реіндексувати частіше, ми все ще можемо зменшити їх кількість за допомогою аналізу переходів по веб посиланням на окремі сторінки. Зменшення кількості сторінок для реіндексації дозволить збільшити швидкість цього процесу й частоту на інших за допомогою звільнення окремих потоків програми для краулерів. Для досягнення цього потрібно розширити механізм логування при переходах на окремі посилання користувачами (Рисунок 2.8), що дозволить дізнатися їх зацікавленість у певних веб сторінках. На основі цих даних можна буде провести пріоритизацію окремих веб сторінок, що дозволяє виокремити ті, що мають бути реіндексовані частіше. Рисунок 2.8 — Аналіз і пріорітезація веб сторінок за частотою переходів по посиланнях Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 39 Такого роду оптимізація звільнить нас від потреби реіндексувати веб сторінки на які користувачі не переходять, або переходять дуже рідко, та покращить актуальність у популярних. 2.3.3 Рангування за категоріями, групами та темами сайтів, що цікаві користувачам Виокремлення та пріоритезація певних груп веб сторінок дозволить зменшити кількість сторінок для індексації, та одночасно збільшити швидкість повторної індексації приорітезованих. У випадку повторної реіндексації потрібно враховувати чи дійсно були внесені зміни в певну веб сторінку, чи була створена нова з більш актуальними даними. Наприклад це можуть бути сторінки онлайн видань чи блогів, де новіша й актуальна інформація публікується окремим постом чи топіком на іншій веб сторінці. Як правило в групах таких ресурсів рідко потрібно проводити повторну реіндексацію, але через постійне створення нових веб сторінок підвищується потреба для їх початкової індексації. Тобто виокремивши групу сайтів, що відповідають за новини, ми мусимо знизити їх рейтинг реіндексації і підвищити рейтинг індексації (Рисунок 2.9). Звісно. що треба брати до уваги як часто пишуться нові статті й редагуються старі. З іншої сторони, сторінки по типу вікіпедії, що часто оновлюються, мусять мати досить високий пріоритет реіндексації, що б актуальні дані на цих сторінках завжди відповідали їх індексу в пошуковій системі. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 40 Рисунок 2.9 — Пріоритезація сайтів відповідно до їх типу Процеси й методики, що були описані вище вже так чи інакше зустрічаються в існуючих пошукових системах. Наприклад гугл логує пошукові запити користувачів для покращення свого механізму «» Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 41 2.4 Висновки до розділу Запропонований отпимізований метод повторної індексації веб- ресурсів дозволить користувачам отримувати в запитах веб сторінки з найбільш актуальними і відповідними даними. Рейтингування залежить від великої кількості факторів і потребує покращення механізмів логування. Система повинна логувати пошукові запити користувача та його переходи на інші сайти через гіперпосилання. Також при початковій індексації потрібно провести категоризацию веб сторінки, що буде враховуватися в процесах її повторної індексації. Запропонований метод дозволяє виділити окремі приорітезовані веб ресурси, що будуть проіндексовані системою без значних навантажень на сервер. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 42 РОЗДІЛ 3. РОЗРОБКА СИСТЕМИ ПОВТОРНОЇ ІНДЕКСАЦІЇ ВЕБ СТОРІНОК 3.1 Розробка інформаційно-пошукової системи Для застосування запропонованих методів оптимізації було розроблено пошуковий сервіс, що має можливість проводити початкове індексування веб ресурсів, та має можливість їх шукати відповідно до введених користувачами пошуковим критерій. Відповідно до схеми пошукового сервісу, що була представлена в другому розділі (Рисунок 2.2), пошуковий сервіс буде складатися з трьох основних механізмів: кравлингу, індексування та пошуку за ключовими словами. Реалізація кравлеру буде здійснена мовою програмування Java з використанням бібліотеки jsoup для парсингу html файлів, що нам надходять із веб-сайту (Рисунок 3.1). Рисунок 3.1 — Реалізація логіки бота-Crawler’a Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 43 Логіка представленої реалізації краулера дозволяє сканувати веб сторінки, виділяти з них гіперпосилання та переходити по ним на інші сайти, де процес буде повторено. Для запобігання повторного відвідування веб сторінок і їх сканування, усі ресурси, що були проскановані, зберігаються в масиві visitedURLs, вміст якого перевіряється на наявність гіперпосилання, що збирається відвідати кравлер. Важливо зазначити, що для роботи краулера потрібно вказати спеціальний хедер UserAgent[5], що буде ідентифікувати краулер бота на сайтах. Завдяки ідентифікації бота сайти зможуть відділити його від інших користувачів і не враховувати його дії у своїй бізнес логіці (Рисунок 3.2). Рисунок 3.2 — UserAgent бота-Crawler’a Отримання даних із сайтів здійснено за допомогою використання бібліотеки Jsoup, що робить запити та парсить дані отримані із сайту. Бібліотека витягує назву сторінки, її контент та посилання на неї, що потім буде перевикористано для механізму пошуку (Рисунок 3.3). Рисунок 3.3 — Парсинг документу та збереження в індекс Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 44 Для індексації веб сторінок, що були проскановані, використовується бібліотека Apache Lucene Core[6], що дозволяє створювати та наповнювати індекси з даними веб сторінки. Заповнений індекс зберігається у вигляді файлу на сервері де була запущена програма, чи напряму в базі на окремому сервері. Для поточної реалізації пошукового двигуна була використана реалізація збереження індексів веб ресурсів у файловій системі серверу (Рисунок 3.4). У випадку коли сервер не може створити файл чи зберегти в нього індекс буде опрацьована та залогована помилка програми. Для запобігання проблем зі створенням файлів, на сервері де буде розташована програма рекомендується завчасно підготувати права на директоріях для запису даних. Рисунок 3.4 — Механізм індексації веб документа У результаті ми отримали механізм автоматичного індексування веб сторінок із глубоким скануванням завдяки реалізованій можливості в кравлерів переходити на інші сайти за допомогою гіперпосилань на сайтах. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 45 Розроблений механізм початкової індексації дозволяє сканувати та індексувати веб-ресурси, але без можливості пошуку за ключовими словами дуже важко назвати розроблену пошукову систему закінченою. Можливість пошуку веб сторінок дозволить провести більш детальний аналіз і порівняння актуальності даних в індексах із запропонованим методом оптимізації і без. Відповідно до схеми пошукової системи, що була представлекна у другому розділі, реалізація пошукових алгоритмів буде складатися з декількох етапів: 1. Користувач вводить пошуковий запит у полі пошуку; 2. Програма отримує строку, що ввів користувач і розбиває його на окремі слова, що виступають пошуковими критеріями (Рисунок 3.5); 3. Програма проводить аналіз проіндексованих веб ресурсів на наявність ключових слів чи словосполучень, де частоста й порядок їх появи підвищують пріоритет ресурсу (Рисунок 3.6); 4. Оформлює знайдені ресурси й конвертує їх у моделі, що будуть повернуті із сервера на інтерфейс користувача (Рисунок 3.7). Рисунок 3.5 — Підготовка пошукового запиту користувача Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 46 Рисунок 3.6 — Пошук інформації в проіндексованих ресурсах серверу Рисунок 3.7 — Конвертація індексів у моделі з даними, що будуть відображені на інтерфейсі У результаті розробки цього функціоналу ми отримуємо можливість пошуку веб ресурсів за ключовими словами (Рисунок 3.8) відповідно до схеми пошукового механізму (Рисунок 2.3). Рисунок 3.8 — Метод пошуку індексів за введеним рядком Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 47 3.2 Механізм повторної індексації веб сторінок Реіндексація веб сторінок буде сильно покладатися на вже написаний механізм індексування. Основною відмінністю буде обмеження домену сайту. Реіндексація повинна проводитись у рамках одного веб ресурсу[7] і ігнорувати посилання на сторонні ресурси (Рисунок 3.9). Рисунок 3.9 — Механізм реіндексування веб сторінки краулер Реіндексація веб-ресурсу розрахована на те, що ресурс, що був попередньо проіндексований є безпечним і може бути показаний користувачам у пошукових результатах. Завдяки зникненню потреби в додаткових перевірках безпеки ми можемо прискорити швидкість сканування ресурсу за допомогою кравлерів. Для стандартного терміну повторної індексації всіх наявних у системи індексів буде встановлений таймер на одну неділю. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 48 3.3 Реєстрація та авторизація користувачів Запропоновані ідеї оптимізації потребують покращення механізму логування та відслідковування зацікавленостей користувачів. Анонімне логування пошукових запитів, що вводять не авторизовані користувачі також буде враховуватись, але при можливості ідентифікувати регіон користувача, а також його пошукову історію, ми можемо побудувати більш точний план рангування сайтів для повторної індексації. Для ідентифікації користувачів у систему була добавлена можливість реєстрації (Рисунок 3.10). Користувач вводить логін та пароль. Пароль, що вводиться користувачем, хешується і зберігається в базі даних разом із логіном (Рисунок 3.11). Рисунок 3.10 — Форма реєстрації Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 49 Рисунок 3.11 — Вигляд зареєстрованого користувача в базі даних Зареєстрований користувач може увійти у свій обліковий запис за допомогою форми авторизації (Рисунок 3.12). Рисунок 3.12 — Форма автентифікації Після авторизації користувач може скористатися пошуковою формою. Запит, що вводить користувач, буде залоговано і використано в механізмах оптимізації, що будуть розглянуті в наступному підрозділі (Рисунок 3.13). Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 50 Рисунок 3.13 — Пошукова форма 3.4 Механізм індексування веб сторінки із застосуванням методів оптимізації Реалізувавши можливість повторного індексування веб сторінок, нам залишилось додати оптимізовані механізми, що будуть викликати методи реіндексування. Однією із запропонованих ідей для оптимізації була можливість вибирати сайти, що мають популярні ключові слова, що разом шукають користувачі в певний період часу. Реалізуємо метод, що розділить пошукову критерію, яку вводять користувачі, на. Всі слова що будуть знайдені в реченні будуть згруповані в список. З отриманого списку слів будуть відфільтровані слова-сполучники та інші символи, що не впливають на результат пошуку (Рисунок 3.14). Рисунок 3.14 — Метод розбиття критерії на ключові слова Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 51 Отримавши колекцію з унікальних слів-ключів ми можемо порахувати частоту їх повторюваності. Для реалізації збереження рейтингу ключових слів в сервісі буде використана Хеш-мапа. Такий спосіб зберігання даних не являється ефективним при великій кількості вхідних даних, оскільки всі значення мапи зберігаються в пам’яті сервера де розміщена наша програма(Рисунок 3.15), однак, для даного варіанту програми й кількості даних із якою вона оперує, цього достатньо. Рисунок 3.15 — Реалізація In-memory сховище даних Отримавши можливість зберігання та рангування популярних ключових-слів, що вводять користувачі, ми можемо реалізувати метод, що дозволяє брати основні пошукові запити які цікаві користувачам. Як граничне значення було обрано частоту введень слів більше 75 % з усіх даних (Рисунок 3.16). Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 52 Рисунок 3.16 — Реалізація методу пошуку популярних слів За допомогою внутрішніх механізмів бібліотеки lucene ми можемо отримати веб сторінки які містять ключові слова у вигляді індексів та переконвертувати їх у гіперпосилання до цих сторінок. Знайдені посилання передаються в сервіс реіндексації, де з них виділяються домени сайтів на які будуть надіслані краулери (Рисунок 3.17). Рисунок 3.17 — Виклик реіндексації для сайтів, що містять популярні ключові-слова Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 53 Отримавши можливість реіндексувати сайти, що містять цікаву юзерам інформацію, ми значно покращили основний пункт і мету всього цього процесу — актуальність даних в індексі. Проте ми все ще можемо виокремити серед усіх цих сторінок ту частину, на яку користувачі переходять частіше всього. Такого роду виокремлення буде відбуватися за допомогою механізмів логування переходів по гіперпосиланням та їх подальшого рангування і врахування в процесах реіндексації. Відповідно до схеми рангування переходів користувачів по веб- посиланням (Рисунок 2.8), реалізація цього методу буде відбуватися схожим чином на те, як це було зроблено у випадку повторюваності ключових слів. Ми також будемо використовувати Хеш-мапу як сховище даних, однак самі дані, що ми зберігаємо в цій мапі будуть іншими. На відміну від ключових слів, у даній реалізації сервісу рангування будуть зберігатися домени сайтів які постійно будуть доповнюватися, а значення, що репрезентує частоту їх відвідування — збільшуватися (Рисунок 3.18). Рисунок 3.18 — Рангування переходів користувачів за посиланням Реалізуємо простий метод взяття самих популярних відвідуваних сайтів та реіндексувати їх (Рисунок 3.19). Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 54 Рисунок 3.19 — Взяття самих популярних доменів веб-ресурсів Такого роду оптимізація розрахована саме на популярність веб ресурсу, адже не враховує дані, що він містить насправді. Розширимо процес оптимізації по популярності переходів по гіпер-посиланнями за допомогою написаний раніше оптимізованого механізму пошуку по ключовим словам (Рисунок 3.20). Рисунок 3.20 — Оптимізований механізм реіндексації Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 55 Об’єднавши два підходи до рангування веб-ресурсів і застосування їх до механізму реіндексації, ми отримати оптимізацію, що буде враховувати популярність введених пошукових критеріонів користувачем. З індексів, що будуть знайдені за популярними ключовими словами будуть братися гіперпосилання, які будуть переконвертовані в домени цих сайтів. Одержавши список доменів ми проведемо додаткову фільтрацію за допомогою популярності переходів на певні домени і виділимо основні сайти, що містять ключові слова та є часто відвідуваними користувачами. Встановлені веб-ресурси отримують найбільший пріоритет для процесу реіндексації і на їх посилання будуть відправлятися краулери, що будуть збирати й оновлювати дані. У кінці добавимо анотацію Scheduled[8], що буде запускати метод реіндексування кожну хвилину (Рисунок 3.21). Рисунок 3.21 — Автоматизований механізм реіндексації Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 56 3.5 Висновки до розділу Для розробки оптимізованого механізму був реалізований механізм початкового кравлингу, індексування та пошуку веб сторінок відповідно до введеного користувачем пошукового запиту. Актуалізація даних у розробленій пошуковій системі була досягнута за допомогою розглянутих у другому розділі механізмів оптимізації для повторного індексування. Для розділення різних користувачів, що користуються пошуковим двигуном була реалізована реєстрація та авторизація користувачів у систему. Розроблений метод повторної індексації веб сторінок запобігає проблем з навантаженням на сервер завдяки зменшенню кількості даних для актуалізації. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 57 РОЗДІЛ 4. ОЦІНКА ЕФЕКТИВНОСТІ ЗАПРОПОНОВАНОГО МЕТОДУ 4.1 Результат роботи запропонованого методу Запропонований метод дає змогу проводити повторне індексування веб сторінок з урахуванням їх популярності серед користувачів. Цей підхід дозволяє виокремити частину сторінок для індексації, однак ніяк не зможе стати повною заміною вже існуючих механізмів, що проводять повну реіндексацію веб ресурсів раз у декілька неділь чи місяців[9]. Процес реіндексації є запланованим процесом системи, о відбувається кожну хвилину. Спочатку система проаналізує всі введені користувачем слова (Рисунок 4.1). Рисунок 4.1 — Кількість повторень слів у пошукових критеріях Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 58 Відповідно до механізму рангування за повторюваністю слів буде побудована рейтингова таблиця, з якої буде взято 25 % самих популярних запитів. Таблиця 3.1 — Рейтингова таблиця ключових слів Ключове слово Кількість запитів Рейтинг ЧДТУ 10 1 Завдання 7 2 Студент 4 3 search 2 4 Кабінет 2 5 engine 2 6 Lucene 0 — Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 59 Виділивши самі популярні ключові слова, система проводить аналіз їх наявності в індексах, після чого повертає результат у вигляді доменів сайтів де ці слова траплялися (Рисунок 4.2). Рисунок 4.2 — Список доменів які містять популярні ключові слова «ЧДТУ» й «Завдання» Список знайдених доменів, що містять ключові слова, порівнюється зі списком популярних доменів за кількістю переходів (Рисунок 4.3). Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 60 Рисунок 4.3 — Кількість відвідувань доменів В результаті фільтрацій за рейтингом ми отримали список із восьми самих відвідуваних доменів для яких система почне реіндексацію. 4.2 Порівняння результатів ефективності запропонованого методу Після проведення пошукових операцій у розробленій пошуковій системі й накопичення певної кількості повторень слів, ми можемо перевірити оптимізований механізм повторної індексації веб сторінок. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 61 Таблиця 3.2 — Рейтингова таблиця доменів для повторної індексації Пошуковий двигун З застосуванням Без застосування запропонованого запропонованого методу методу Частота Релевантні Частота Релевантні повторної сть даних повторної сть даних Домен сайту Рейтинг індексації після індексації після внесення внесення змін змін work.chdtu.e 1хв Так 1 неділя Ні 1 du.ua ets.chdtu.edu. 1хв Так 1 неділя Ні 2 ua design.chdtu. 1хв Так 1 неділя Ні 3 edu.ua departments.c 1хв Так 1 неділя Ні 4 hdtu.edu.ua lib.chdtu.edu. 1хв Так 1 неділя Ні 5 ua Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 62 Продовження таблиці 3.2 fht.chdtu.edu. 1хв Так 1 неділя Ні 6 ua radiotex.org. 1хв Так 1 неділя Ні 7 ua fetr.chdtu.edu 1хв Так 1 неділя Ні 8 .ua itp.chdtu.edu. 1 неділя Ні 1 неділя Ні 9 ua www.dcz.gov 1 неділя Ні 1 неділя Ні 10 .ua zno.testportal 1 неділя Ні 1 неділя Ні 11 .com.ua Згідно до результатів таблиці 3 частота оновлення веб ресурсів, що були часто відвідувані й шукали користувачі, зросла до однієї хвилини. Проаналізувавши графіки навантаження (Рисунок 4.4) на систему до і після (Рисунок 4.5) початку індексації, можна впевнитись, що додатковий процес на систему не впливає. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 63 Рисунок 4.4 — Навантаження на систему в момент процесу індексації Рисунок 4.5 — Навантаження на систему на часовому проміжку в 15 хвилин Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 64 4.3 Висновки до розділу Обмеження кількості індексів, що потрібно актуалізувати системі, дозволяє збільшити частоту цього процесу із запобіганням навантаження на сервер. Частота оновлення веб сайтів, що мають найбільший рейтинг відвідування та пошуку, була збільшена до одної години. Кількість виділених веб-ресурсів, що були відібрані за допомогою запропонованого методу, не впливає на систему відповідно до графіку навантаження (Рисунок 4.5). Розроблений метод повторної індексації веб-ресурсів легко масштабується та реалізується у пошукових системах за наявності у них механізмів логування дій користувача. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 65 ВИСНОВОК Розроблений механізм повторної індексації дозволяє визначити цікаві для користувачів теми та покращити актуальність їх даних у нашій системі. На відміну від стандартних алгоритмів та процесів оптимізації, якими користуються інші пошукові сервіси та займають від 3 днів до декількох місяців[14], запропонований варіант дозволяє підтримувати актуальність веб- сторінок в індексах у граничних значеннях однієї години. Потрібно враховувати, що ця оптимізація не гарантує постійного оновлення всіх індексів, що містить система, а лише основних та найпопулярніших серед користувачів. У поєднанні з іншими підходами та стандартними алгоритмами оптимізації інших пошукових сервісів система може досягти високих показників актуалізації даних. Завдяки зменшенню кількості веб ресурсів, що потрібно індексувати, вдалося запобігти сильного навантаження на систему і збільшити частоту повторного індексування веб сторінок. Кількість індексів, які можуть опрацьовуватися цим методом, може легко масштабуватися завдяки зміні відсотка популярності ресурсів, що вибираються для повторної індексації. Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 66 СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 1. How long does it take for Google to index a website [Електронний ресурс] — Режим доступу до ресурсу: https://www.contentkingapp.com/academy/google-index/faq/indexing- speed/ 2. How do I index my personal website on DuckDuckGo [Електронний ресурс] — Режим доступу до ресурсу: https://www.quora.com/How-do-I- index-my-personal-website-on-DuckDuckGo 3. How does a search engine work? [Електронний ресурс] — Режим доступу до ресурсу: https://www.bigcommerce.com/ecommerce-answers/how-does-search- engine-work/ 4. Spring Boot [Електронний ресурс] — Режим доступу до ресурсу: https://spring.io/projects/spring-boot 5. User-Agents For Web Scraping 101 [Електронний ресурс] — Режим доступу до ресурсу: https://brightdata.com/blog/how-tos/user-agents-for-web-scraping-101 6. Annotation Interface Scheduled [Електронний ресурс] — Режим доступу до ресурсу: https://docs.spring.io/spring-framework/docs/current/javadoc- api/org/springframework/scheduling/annotation/Scheduled.html 7. Apache Lucene — Index File Formats [Електронний ресурс] — Режим доступу до ресурсу: https://lucene.apache.org/core/3_0_3/fileformats.html 8. Lucene — IndexSearcher [Електронний ресурс] — Режим доступу до ресурсу: https://www.tutorialspoint.com/lucene/lucene_indexsearcher.htm Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 67 9. Comparing Search Engine Performance [Електронний ресурс] — Режим доступу до ресурсу: https://moz.com/blog/comparing-search-engine-performance-how-does- cuill-stack-up-to-google-yahoo-live-ask 10. Google, Bing, and DuckDuckGo indexing comparasion [Електронний ресурс] — Режим доступу до ресурсу: https://www.quora.com/Which-indexing-is-better-Google-Bing-or- DuckDuckGo 11. Everything We Know About IndexNow [Електронний ресурс] — Режим доступу до ресурсу: https://www.searchenginejournal.com/indexnow-what-we- know/439679/#close 12. A Comparison of Open Source Search Engines [Електронний ресурс] — Режим доступу до ресурсу: https://partyondata.com/2009/07/06/a-comparison-of-open-source-search- engines-and-indexing-twitter/ 13. Datagroup company has become an internet [Електронний ресурс] — Режим доступу до ресурсу: https://www.datagroup.ua/en/novyny/kompaniya-datagrup-stala-internet- partnerom-mizhnarodnogo-it-130 14. Search Engine Indexing [Електронний ресурс] — Режим доступу до ресурсу: https://www.deepcrawl.com/knowledge/technical-seo- library/search- engine-indexing/ 15. Bing vs. Google: Which Search Engine Indexes More Content [Електронний ресурс] — Режим доступу до ресурсу: https://www.onely.com/blog/bing-vs-google-which-search-engine-indexes- more-content/ Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 68 ДОДАТОК А Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 69 Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 70 Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 71 Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 72 Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 73 Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 74 Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 75 Лист ЧДТУ.22.21092.007 ПЗ Зм Арк №Докум. Підп Дата 76