YaCy

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
YaCy
YaCy logo.png
Yacy-buscador.png
Стабільний випуск 1.01 (7 грудня 2011; 861 день тому)
Написано на Java
Операційна система багатоплатформна
Доступні мови багатомовна
Українська так
Тип пошукова машина, проксі
Ліцензія GPL v2
Сайт www.yacy.net

YaCy (від англ. Yet another Cyberspace, Ще один Кіберпростір; співзвучне з англ. ya see) це пошукова машина, що працює за принципом однорангової мережі (Peer-to-Peer, P2P, рівний-до-рівного). Центральний сервер відсутній і всі учасники рівні.

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

Власний індекс (опосередкований загальному) може бути створений власним веб-сканером. YaCy може бути налаштований на альтернативну мережу шляхом утворення окремого індексу, як це зроблено в ScienceNet[1].

Проект YaCy був заснований Міхаелем Крістеном (нім. Michael Christen) у 2003 році.[2]

Переваги та недоліки[ред.ред. код]

Переваги[ред.ред. код]

  • Спільний пошук може бути здійснений з YaCy практично завжди: завжди є частина мережі, що буде доступна.
  • Інтернет-користувачі пошукової системи YaCy незалежні від компаній, їх рейтингу (який треба заробити), і їх цензури.
  • Програмне забезпечення з відкритим джерельним кодом, яке розповсюджується за ліцензією GNU GPL і є безкоштовним.
  • Оскільки індексування відбувається через проксі-сервер для кожного клієнта, він, таким чином, може просканувати сторінки з Deep Web або неіндексованих мереж загального користування (таких, як I2P), які не можуть бути проіндексованими звичайними павуками, такими як у Google, Yahoo чи Bing.
  • YaCy не обов'язково пов'язаний з участю в громадському YaCy-кластері і може, таким чином, бути використаним в якості пошукової системи в приватних мережах (таких, як внутрішня мережа компанії) або в приватних пошукових сервісах (і індексах) певної групи сторінок.

Недоліки[ред.ред. код]

  • YaCy необхідно зв'язатися з іншими вузлами для запиту, пошук займає більше часу, ніж у традиційних пошукових систем.
  • Представлено відносно мало вузлів і вони можуть видати відносно небагато результатів порівняно з великими пошуковими машинами. Це також може бути через відмову або вимкнення окремих (великих) вузлів і подальшого погіршення якості мережі. Проте з випуском версії 1.0 у листопаді 2011 року кількість учасників значно збільшилася, до 1000[3], так-що цей недолік відносно маловажливий на сьогоднішній день.
  • Протокол YaCy організований з використанням індивідуальних HTTP-запитів, що тягне за собою більші затримки, ніж при UDP або TCP з постійним підключенням.
  • Пошукові запити цільових вузлів зберігаються в кеші, який тимчасово перебуває в оперативній пам'яті. Хеш-функція, яка використовується для кодування пошуку слів, використовуваних в основному для керування розподіленою хеш-таблицею (DHT) і ключовими словами, може лише частково покрити словник для показу пошукових запитів в текстовому форматі.
  • Спамери теоретично можуть запускати свої вузли, які повертають спам в якості результату. Результати пошуку неправильні, а це неможливо, тому будуть відкинуті вузлами перед відображенням.

Програма[ред.ред. код]

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

У поєднанні з додатковими P2P-системами працює використання проксі-сервера, який автоматично індексує відвідані сторінки. Індексування не проводиться в місцях, де дані передаються через GET або POST, або ж з використанням печива (cookies) чи HTTP-аутентифікації (наприклад, сторінки що входять в певну запаролену зону).[4] Тим самим гарантується, що тільки дійсно доступні для громадськості дані індексуються.

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

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

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

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

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

На відміну від файлообмінних сервісів, результати повинні викликати P2P-пошук і бути доступними негайно. Щоб здійснити це, YaCy використовує розподілену хеш-таблицю (DHT). Це означає, що всі визначені 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.
  • M. Christen: Peer-to-Peer: Eigenes Suchportal mit Yacy einrichten in iX 02/2008, S. 102 ff.
  • M. Schlenker: Gemeinsam gegen Google in OpenSource, 01/2007, November 2006, S. 94-97
  • J. Bager: Europäische Gegenströmung in c't, 2006/10, 2. Mai 2006, S.172-174 (Onlinetext)
  • R. Sietmann: Wider die Monokultur. P2P-Strategien gegen die Suchmaschinen-Monopolisierung. in c't, 2005/16, 25. Juli 2005, S.52-53 (Onlinetext)
  • M. Schwarze: Jedermanns Suchmaschine in: HAZ (Artikel als PDF 107 kB)
  • Michael Christen: YaCy — Peer-to-Peer Web-Suchmaschine in Die Datenschleuder, #86, 2005, S.54-57 (gesamtes Heft als PDF 1,7 MB)

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

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

  1. http://sciencenet.kit.edu/
  2. http://www.heise.de/newsticker/foren/go.shtml?read=1&msg_id=4744034&forum_id=50682
  3. Огляд мережі
  4. http://www.yacy-websearch.net/wiki/index.php/Uk:Privacy