![]() | |
![]() | |
Тип | пошукова машина, проксі |
---|---|
Розробник | Michael Christend[1] |
Стабільний випуск | 1.82 (19 січня 2015 ) |
Платформа | віртуальна машина Java |
Операційна система | багатоплатформна |
Мова програмування | Java |
Доступні мови | багатомовна |
Українська мова | так |
Ліцензія | GPL v2 |
Репозиторій | github.com/yacy/yacy_search_server |
Вебсайт | www.yacy.net |
YaCy (вимовляється "ya see") вільна пошукова машина та пошукова система, побудована на принципах однорангової (P2P) мережі[2][3]. Пошукова система складається з окремих вузлів — примірників програмного забезпечення, написаного на Java, яке користувачі встановлюють на свої комп'ютери з доступом до Інтернет. Кожен вузол самостійно збирає, аналізує та індексує сторінки Інтернет та обмінюється результатами індексації в мережі, формуючи загальну базу даних (так званий індекс), яка зберігається розподілено та використовується разом з іншими вузлами. За допомогою YaCY також можна створити пошуковий портал для внутрішньої мережі або пошуковий портал для власних вебсторінок.
У порівнянні з напів-розподіленими пошуковими системами, YaCy-мережа має децентралізовану будову. Усі вузли рівні, а центральний сервер відсутній. Вузол YaCy може бути запущений в режимі індексування сторінок. Окрім того, вузол може працювати як локальний проксі-сервер для індексації вебсторінок, відвіданих користувачем, який встановив YaCy на своєму комп'ютері; при цьому передбачено механізми для захисту конфіденційності користувача.
Доступ до функції пошуку здійснюється через вебсторінку, доступну локально на комп'ютері, де встановлено програму. Введення критеріїв пошуку та отримання результатів відбувається подібно до інших пошукових систем.
Оскільки програма працює в JVM, то її можна встановити на комп'ютерах з різними операційними системами, такими як MS Windows, Unix, GNU/Linux тощо.
Пошукова система YaCy складається з чотирьох елементів:[4]
Інформаційне суспільство 21-го століття засноване на вільному доступі до публічної інформації. Особлива увага приділяється прозорості, підзвітності та доступності інформації. YaCy прагне забезпечити безкоштовний доступ до інформації ефективно й реалістично. У той час як традиційні пошукові системи міжнародних компаній є закритими системами та їх технології пошуку не є прозорими та зрозумілими, YaCy має відкритий початковий код і є вільною пошуковою машиною. Кожен може пересвідчитися, яким чином отримується інформація для пошукової системи та відображається в результатах пошуку користувачу.[5]
Існує багато вільного вмісту в Інтернеті, такого як Wikipedia, вільна музика, дані під Creative Commons та іншими вільними ліцензіями, тощо. Однак наявність цих вільних продуктів в Інтернеті не забезпечує їх вільності в повній мірі. У разі використання пропрієтарних пошукових систем у, більшою мірою, монопольній інфраструктурі Інтернету власники цих монополій вирішують, яку інформацію видно. YaCy дотримується позиції, що вільна інформація є дійсно вільної, якщо вона доступна за допомогою вільного програмного забезпечення. YaCy заповнює відсутню ланку між вільною інформацією та користувачем, надаючи вільний пошук.
Інфраструктура Інтернет була побудована на філософії «все для всіх», а не лише на з'єднаннях прийому-передачі. З такої точки зору, кожен споживач вмісту в Інтернеті повинен мати таку ж можливість виробляти вміст, як і споживати. Мета YaCy в тому, щоб допомогти виробникам і споживачам інформації в Інтернеті робити вміст, доступний для всіх людей, незалежно від централізованого пошуку.
Громадянські права та приватність
Екологічність
Соціологічні
Основу програми становить вебсервер, який також є кешуючим-проксі-сервером. Користувач має доступ до сторінок пошуку та керування своїм вузлом. Проксі має спільний код зі сканером, а це означає, що, якщо проксі задіяний, всі відвідані сторінки, які не є особистими, автоматично записуються в індекс. Крім того, YaCy надає власний домен у YaCy-мережі, який доступний через проксі-сервер.
Пошукові запити здійснюються через P2P-пошук та мають бути доступними негайно. Для цього YaCy використовує розподілену хеш-таблицю. Це означає, що після індексування всі знайдені URL адреси та слова відправляються до вузлів, які найбільше підходять для зберігання відповідних контрольних сум (хешів) слів, вузлів чи посилань. При пошуку все працює навпаки: для пошуку залучаються вузли, які можуть видати хеші URL адрес для слів пошукового запиту. Таким чином, для отримання гарних результатів необхідно задіяти тільки частину вузлів.
YaCy розрізняє чотири типи вузлів:
Протокол YaCy складається з текстових сервлетів, які забезпечують вбудований вебсервер за адресами /yacy/servletname.html. Інші вузли передають дані через GET-властивості і отримують простий уривок тексту, точний формат відрізняється для сервлетів.
При початковому завантаженні вузол намагається зв'язатися з іншими вузлами YaCy-мережі. Спочатку шукаються списки вузлів. Перша адреса в superseed.txt слугує для завантаження стійких YaCy-вузлів. У seeds.txt є також посиланнями на інші вузли, так що таким чином контакт з YaCy-мережею може бути налагоджено. При наступному запуску YaCy, gebootstrapt створює перелік з відомих з попереднього разу вузлів мережі, а списки вузлів необхідні лише тоді, коли багато посилань більше не дійсні.
|