Interested Article - YaCy

YaCy (от англ. Yet another Cyberspace , Ещё одно Киберпространство ; созвучно с англ. Ya see ) — свободно распространяемая децентрализованная поисковая система , построенная по принципу одноранговой сети (P2P). Есть версии для Windows, Linux, MacOSX. Основной программный модуль , написанный на Java , функционирует на нескольких тысячах компьютеров (по состоянию на 2011 год) участников сети YaCy. Каждый участник проекта независимо исследует Интернет, анализируя и индексируя найденные страницы, и складывает результаты индексирования в общую базу данных (так называемый индекс), который совместно используется всеми пользователями YaCy по принципу P2P.

В отличие от частично распределённых поисковых систем, сеть YaCy характеризуется децентрализованной архитектурой. Все узлы эквивалентны и отсутствует центральный сервер . Программа может работать в режиме поискового робота или в качестве локального прокси-сервера , индексируя страницы, посещаемые пользователем (при этом игнорируются страницы с признаками персональных данных — cookies и т. п.).

Доступ к функциям поиска обеспечивается за счёт локально запущенного веб-сервера, который генерирует поисковую страницу с полем для ввода поисковых запросов и возвращает результаты поиска в том же формате, что и другие популярные поисковые системы.

Программа распространяется под лицензией GPL . Проект поддерживает европейское отделение фонда свободного программного обеспечения (FSFE).

Проект YaCy был основан Михаэлем Кристеном ( нем. Michael Christen ) в 2003 году.

Преимущества и недостатки

Преимущества

  • Совместный поиск может быть осуществлён с YaCy практически всегда: всегда есть часть сети, которая будет доступна.
  • Интернет-пользователи поисковика YaCy независимы от компаний, их рейтинга и их цензуры.
  • Программное обеспечение с открытым исходным кодом , распространяется по лицензии GNU GPL и является бесплатным.
  • При использовании прокси‐сервера клиента он может просканировать страницы из глубокой паутины или неиндексированных сетей общего пользования (таких, как I2P ), которые не могут быть проиндексированными обычными поисковыми роботами, такими как в Google, Yahoo или Bing.
  • YaCy не обязательно связан с участием в общественном YaCy-кластере и может, таким образом, быть использованным в качестве поисковой системы в частных сетях (таких, как внутренняя сеть компании) или в частных поисковых сервисах (и индексах) определённой группы страниц.
  • Чем больше узлов находится в сети, тем меньше данных хранится на каждом узле относительно размера индекса, и тем меньше влияние на сеть изменения количества узлов.

Недостатки

  • Спамеры , теоретически, могут запускать свои узлы, возвращающие спам в качестве результата. Поэтому клиент имеет функцию проверки страниц на наличие искомого текста.
  • Из‐за того, что YaCy необходимо связаться с другими узлами для запроса и из‐за упомянутой выше (необязательной) проверки достоверности результатов поиск занимает больше времени, чем в традиционных поисковых системах.
  • Главный клиент не ищет различные формы слов.
  • Протокол YaCy организован с использованием индивидуальных HTTP -запросов, что влечёт за собой бо́льшие задержки, чем при использовании UDP или TCP с постоянным подключением.
  • Главный клиент написан на Java и, в существующей реализации, работает медленно. С ростом объёма локального индекса значительно растёт потребление памяти и снижается скорость работы. Проверка локальной БД объёмом ~20 Гб может занять несколько секунд, до того, как запрос будет отправлен другим пирам.
  • В общественной сети «freeworld» для поиска по Всемирной паутине в настоящее время представлено относительно мало «активных» «старших» узлов (хранящих накопленный поисковый индекс и отвечающих на поисковые запросы от других узлов), и они могут выдать относительно немного результатов по сравнению с крупными поисковыми машинами. На один узел приходится до нескольких десятков миллионов записей, поэтому их полное перемещение между узлами занимает значительное время, и резкое выключение или добавление значительного количества узлов может временно ухудшить качество сети для некоторых поисковых запросов, как это произошло после выпуска версии 1.0 в ноябре 2011 года, когда количество участников быстро увеличилось примерно до 4000 или 1000 . В начале марта 2012 года «активными» были около 1/6 одновременно работавших узлов.

Программа

Ядро поиска отличается от других поисковых систем — это не центральный сервер, а программа -клиент одноранговой сети , которая работает на множестве компьютеров одновременно. Результаты поиска отображаются в виде web-страницы на локальном web-сайте , который также играет роль web-интерфейса для настройки поисковой системы под нужды пользователя.

В сочетании с дополнительными P2P -системами используется прокси , который автоматически индексирует посещённые страницы. Индексирование не производится в тех случаях, когда данные передаются через GET или POST, или же используются куки (cookies) или (например, страницы, входящие в определённую запароленную зону). Тем самым гарантируется, что действительно индексируются только доступные для общественности данные.

Другие функции

  • YaCy обеспечивает всех пользователей прокси-функцией, которая позволяет также подключаться к другим узлам по адресу ИМЯУЗЛА.yacy или ИМЯХЭША.yacyh. www.ИМЯУЗЛА.yacy может быть главной страницей пользователя, под share.ИМЯУЗЛА.yacy находится файлообменник, а ИМЯУЗЛА.yacy это стандартный интерфейс доступа. Другие поддомены могут быть специально созданы путём создания папки с именем поддомена. Динамический DNS не поддерживается.
  • Кроме .yacy- домена , YaCy предоставляет возможность создавать домашнюю страницу и папки, которые могут быть связаны с текущим IP или адресом динамического DNS и доступны для не YaCy пользователей.
  • YaCy имеет встроенную функцию передачи сообщений с помощью которой можно отправлять текстовые сообщения (с форматированием вики), а также передавать файлы.
  • YaCy имеет встроенные вики и блог .
  • Есть управление закладками, которые могут быть общедоступными и личными.
  • Есть возможность внесения отдельных областей в чёрные списки.
  • Есть OpenSearch -интерфейс. Каждый узел обеспечивает доступность его по адресу http://<адрес-узла>:<порт-узла>/opensearchdescription.xml, например . Чтобы добавить вашу персональную поисковую систему YaCy в список поисковых систем Firefox-a нужно открыть этот XML файл в браузере и сохранить его в папку «searchplugins», а затем перезапустить Firefox.

Технология

Программа основана на веб-сервере, который также является кэширующим прокси . Пользователь веб-сервера может получить доступ к оболочке поиска и управления своим собственным узлом. Прокси имеет общий код со сканером, а это значит, что все посещённые через него страницы, которые не являются личными, по умолчанию автоматически записываются в индекс. Кроме того, YaCy предоставляет собственный домен в YaCy-сети, который доступен через прокси-сервер. Для поиска в YaCy интегрированы Solr и Lucene (для версии 1.6 это версии 4.3)

Распределённый индекс

В отличие от файлообменных сервисов, результаты P2P-поиска должны быть доступны немедленно. Чтобы достигнуть этого, YaCy использует распределённую хеш-таблицу (DHT). Это означает, что все распознанные программой URL -адреса и слова отправляются к узлам, которые подходят для хранения соответствующих контрольных сумм слов, узлов или ссылок. При поиске всё работает наоборот: поиск происходит только по узлам, подходящим для хранения хешей URL-адреса для этого слова.

Таким образом, для получения результатов задействуется только часть узлов.

Типы узлов

Сеть YaCy состоит из четырёх различных типов узлов:

Новичок
Эти узлы не могут быть найдены, потому что новичок не имеет связи с сетью. Таким образом, вы видите только себя, если узел - новичок.
Младший
Узел находится за файрволом . Другие относят его к младшим или потенциальным узлам, они видят только последний его запрос и у них нет способа определить, находится ли он до сих пор в сети.
Старший(Senior)
На старший можно попасть снаружи и он является полноправным членом сети YaCy. В статистике сети работающие в данный момент старшие узлы называются активными , неработающие — пассивными .
Главный
Старший, который выгружает список сидов, используемый для начального соединения с другими узлами.

Протокол

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

Начальная загрузка

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

См. также

Примечания

  1. — 2006.
  2. (англ.) — 2007.
  3. . Дата обращения: 14 декабря 2011. 30 ноября 2011 года.
  4. . Дата обращения: 6 марта 2012. 12 февраля 2012 года.
  5. (недоступная ссылка)
  6. /Network.html

Литература

  • M. Christen: Peer-to-Peer: Eigenes Suchportal mit Yacy einrichten in iX 02/2008, S. 102 ff.
  • M. Schlenker: Gemeinsam gegen Google in , 01/2007, November 2006, S. 94-97
  • J. Bager: Europäische Gegenströmung in c’t, 2006/10, 2. Mai 2006, S.172-174 ( )
  • R. Sietmann: Wider die Monokultur. P2P-Strategien gegen die Suchmaschinen-Monopolisierung. in c’t, 2005/16, 25. Juli 2005, S.52-53 ( )
  • M. Schwarze: Jedermanns Suchmaschine in: HAZ ( 107 kB)
  • Michael Christen: YaCy — Peer-to-Peer Web-Suchmaschine in Die Datenschleuder, #86, 2005, S.54-57 ( 1,7 MB)

Ссылки

  • на
  • . (англ.) . 2011-11-28 . Дата обращения: 15 декабря 2011 .
  • . Издательство «Открытые системы» . 2011-11-29 . Дата обращения: 15 декабря 2011 .
Источник —

Same as YaCy