YaCy

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
YaCy
Тип пошукова машина, проксі
Розробник Michael Christend[1]
Стабільний випуск 1.82 (19 січня 2015; 9 років тому (2015-01-19))
Платформа віртуальна машина 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]

  • Пошуковий робот переходить з вебсторінки на вебсторінку й аналізує їх вміст.
  • Індексатор створює обернений індекс слів, Reverse Word Index (RWI). Кожне слово в RWI має перелік URL адрес, які йому відповідають. Слова зберігаються у формі їх хешей.
  • Пошуковий та адміністративний інтерфейси, доступні через вебінтерфейс, забезпечений локальним HTTP сервлетом.
  • Банк даних, що зберігає RWI із застосуванням розподіленої хеш-таблиці.

Філософія[ред. | ред. код]

Інформаційне суспільство 21-го століття засноване на вільному доступі до публічної інформації. Особлива увага приділяється прозорості, підзвітності та доступності інформації. YaCy прагне забезпечити безкоштовний доступ до інформації ефективно й реалістично. У той час як традиційні пошукові системи міжнародних компаній є закритими системами та їх технології пошуку не є прозорими та зрозумілими, YaCy має відкритий початковий код і є вільною пошуковою машиною. Кожен може пересвідчитися, яким чином отримується інформація для пошукової системи та відображається в результатах пошуку користувачу.[5]

Вільний пошук: відсутні посилання[ред. | ред. код]

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

Децентралізована пошукова система[ред. | ред. код]

Інфраструктура Інтернет була побудована на філософії «все для всіх», а не лише на з'єднаннях прийому-передачі. З такої точки зору, кожен споживач вмісту в Інтернеті повинен мати таку ж можливість виробляти вміст, як і споживати. Мета YaCy в тому, щоб допомогти виробникам і споживачам інформації в Інтернеті робити вміст, доступний для всіх людей, незалежно від централізованого пошуку.

Переваги YaCy філософії[ред. | ред. код]

Громадянські права та приватність

  • Результати пошуку незалежні, виключена цензура[6].
  • Унеможливлення централізованої оцінки та моніторингу пошукових запитів.
  • Недоступність даних про історію пошукових запитів. Крім захисту приватності, це має значення й для бізнесу з огляду на промислове шпигунство.

Екологічність

  • Не потрібна робота центрів обробки даних з величезним енергоспоживанням (а іноді й їх власними електростанціями) для центрального вебпошуку. Розподілений пошук вимагає роботи тільки комп'ютерів вузлів пошуку.

Соціологічні

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

Інші функції[ред. | ред. код]

  • YaCy забезпечує всіх користувачів проксі-функцією, яка надає доступ до колег за особливою адресою PEERNAME.yacy (тобто, ім'я цього вузла з розширенням ".yacy") або PEERHASH.yacyh (тобто геш цього вузла з розширенням ".yacyh"). www.PEERNAME.yacy може бути домашньою сторінкою користувача, під share.PEERNAME.yacy знаходиться файлообмінник, а PEERNAME.yacy це звичайна http-оболонка доступу. Інші піддомени можуть бути спеціально створені шляхом створення теки з ім'ям піддомену. Динамічний DNS не підтримується.
  • Вузол доступний для YaCy користувачів, незалежно від того, чи YaCy-домен надає місце для домашньої сторінки та тек, які можуть бути зв'язані з поточною IP-адресою або адресою динамічного DNS.
  • YaCy має вбудовану функцію повідомлень, за допомогою якої можна відправляти текстові повідомлення (з форматуванням вікі), і залежно від настройки приймача також відправляти файли.
  • YaCy має вбудовані wiki і блог.
  • Є керування закладками, які можуть бути загальнодоступними та особистими.
  • Є можливість внесення окремих областей до чорних списків.
  • Є OpenSearch-інтерфейс. Кожен вузол забезпечує доступність цієї адреси http://<адреса-вузла>:<порт-вузла>/opensearchdescription.xml, наприклад https://web.archive.org/web/20120602233757/http://sciencenet.fzk.de:8080/opensearchdescription.xml

Технологія[ред. | ред. код]

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

Розподілений індекс[ред. | ред. код]

Пошукові запити здійснюються через P2P-пошук та мають бути доступними негайно. Для цього YaCy використовує розподілену хеш-таблицю. Це означає, що після індексування всі знайдені URL адреси та слова відправляються до вузлів, які найбільше підходять для зберігання відповідних контрольних сум (хешів) слів, вузлів чи посилань. При пошуку все працює навпаки: для пошуку залучаються вузли, які можуть видати хеші URL адрес для слів пошукового запиту. Таким чином, для отримання гарних результатів необхідно задіяти тільки частину вузлів.

Типи вузлів[ред. | ред. код]

YaCy розрізняє чотири типи вузлів:

  • Новенький: такі вузли не доступні, оскільки не мають зв'язку з мережею, та бачать лише себе.
  • Молодший вузол знаходиться за файрволом. Інші відносять його до молодших або потенційних вузлів, вони бачать тільки те, коли він був останній раз зареєстрований, і не мають ніякого способу визначити, чи він досі в мережі.
  • Старший доступний ззовні та є повноправним членом мережі YaCy.
  • Головний — старший, який надає список вузлів, який використовується для початкового зв'язку з іншими вузлами.

Протокол[ред. | ред. код]

Протокол YaCy складається з текстових сервлетів, які забезпечують вбудований вебсервер за адресами /yacy/servletname.html. Інші вузли передають дані через GET-властивості і отримують простий уривок тексту, точний формат відрізняється для сервлетів.

Початкове завантаження[ред. | ред. код]

При початковому завантаженні вузол намагається зв'язатися з іншими вузлами YaCy-мережі. Спочатку шукаються списки вузлів. Перша адреса в superseed.txt слугує для завантаження стійких YaCy-вузлів. У seeds.txt є також посиланнями на інші вузли, так що таким чином контакт з YaCy-мережею може бути налагоджено. При наступному запуску YaCy, gebootstrapt створює перелік з відомих з попереднього разу вузлів мережі, а списки вузлів необхідні лише тоді, коли багато посилань більше не дійсні.

Джерела[ред. | ред. код]

  • Peter Schüler: Web-Erkundung per PC. In: c’t. Eigener Webindex mit YaCy Nr. 21, September 2008, ISSN 0724-8679, S. 180–185.

Посилання[ред. | ред. код]

Примітки[ред. | ред. код]

  1. https://yacy.net/impressum/
  2. 00:03, 29 Nov 2011 at; Nsa, Iain Thomson tweet_btn() Iain Thomson Get email alert when this author posts Common Topics. YaCy takes on Google with open source search engine. Архів оригіналу за 24 грудня 2015. Процитовано 10 січня 2016.
  3. YaCy: It's About Freedom, Not Beating Google. PCWorld. Архів оригіналу за 8 липня 2012. Процитовано 10 січня 2016.
  4. YaCy.net. YaCy Technology Architecture. Архів оригіналу за 5 лютого 2012.
  5. YaCy - The Peer to Peer Search Engine: Philosophy. yacy.net. Архів оригіналу за 4 грудня 2015. Процитовано 10 січня 2016.
  6. Альтернатива Google: топ-8 кращих пошуковиків в Інтернеті. CyberCalm. 27 березня 2019. Архів оригіналу за 5 жовтня 2019. Процитовано 6 жовтня 2019.
  7. YaCy - The Peer to Peer Search Engine: Search Portal. yacy.net. Архів оригіналу за 7 травня 2016. Процитовано 7 травня 2016.