Введение

Поисковая система типа "одноранговая сеть" YaCy (произносится "ya see") – это бесплатная распределенная поисковая система, построенная на принципах одноранговых сетей (P2P), разработанная Майклом Кристеном в 2003 году. Движок написан на Java и, по состоянию на 2006 год, распространяется на нескольких сотнях компьютеров, так называемых узлах YaCy. Каждый узел YaCy самостоятельно обходит Интернет, анализирует и индексирует найденные веб-страницы, а результаты индексации хранит в общей базе данных (так называемом индексе), которой делится с другими узлами YaCy, используя принципы одноранговой сети. По сравнению с частично распределенными поисковыми системами, сеть YaCy имеет распределенную архитектуру. Все узлы YaCy равноправны, и центрального сервера не существует. Она может работать в режиме обхода или как локальный прокси-сервер, индексируя веб-страницы, посещаемые пользователем, запустившим YaCy на своем компьютере. Предусмотрены различные механизмы для защиты конфиденциальности пользователя. Доступ к функциям поиска осуществляется через локально запущенный веб-сервер, который предоставляет поле поиска для ввода поисковых запросов и возвращает результаты поиска в формате, аналогичном другим популярным поисковым системам.

Технология поисковых систем

YaCy – это полноценный поисковый комплекс с пользовательским интерфейсом, индексом, администрированием и мониторингом. YaCy собирает веб-страницы с помощью веб-краулера. Документы затем разбираются, индексируются, а поисковый индекс хранится локально. Если ваш узел является частью пиринговой сети, то ваш локальный поисковый индекс также объединяется в общий индекс для этой сети. При выполнении поиска, локальный индекс дополняется глобальным поисковым индексом от узлов в пиринговой сети YaCy. YaCy Grid – это реализация второго поколения пирингового поиска YaCy. Установка YaCy Grid состоит из микросервисов, взаимодействующих посредством программы Master Connect Program (MCP). YaCy Parser – это микросервис, который можно развернуть с помощью Docker. При запуске компонента Parser, он ищет и подключается к MCP. По умолчанию поиск MCP осуществляется на локальном хосте, но вы можете настроить его самостоятельно.

Распространение

YaCy доступен в пакетах для Linux, Windows и Macintosh, а также в виде образа Docker. YaCy также может быть установлен на другие операционные системы либо путем самостоятельной сборки, либо с помощью архива. YaCy требует Java 8, рекомендуется OpenJDK 8. Пакет Debian можно установить из репозитория, доступного на поддомене веб-сайта проекта. Пакет пока не поддерживается в официальном репозитории пакетов Debian.