LINUX.ORG.RU

Состоялся релиз распределённой системы поиска YaCy 1.0

 , ,


0

3

После пяти лет разработки тихо и незаметно вышла YaCy 1.0 - распределённая поисковая система.

YaCy - децентрализованный сервис, в настоящее время работают 600 пиров. Архитектура YaCy не позволяет какой-либо одной организации решать, какие страницы индексировать и в каком порядке располагать их в выдаче. Серверы YaCy работают на компьютерах пользователей, поисковые запросы перед отправкой шифруются. В отличие от привычных нам поисковых систем, при разработке YaCy большое внимание уделялось защите персональной информации пользователя. На компьютере пользователя сохраняются персональные индексы и рейтинги страниц, позвольяющие со временем улучшать качество поиска. Также YaCy можно использовать для поиска на определённом сайте или в пределах локальной сети.

Михаэль Кристен, руководитель проекта YaCy говорит: «Большинство нашей деятельности в сети связано с поиском. Поисковая система связывает нас с необходимой нам информацией. Мы не можем возложить такую жизненно важную функцию на несколько крупных компаний и расплачиваться за это своими личными данными. YaCy - необходимое звено между свободными пользователями и свободной информацией, она возвращает нам, пользователям, контроль над нашим поиском. „Каждый пользователь YaCy - часть большой поисковой сети. Система используется на таких ресурсах, как sciencenet.kit.edu, yacy.geocaching-portal.com и fsfe.org для поиска по сайтам. Поисковые индексы распространяются между серверами по протоколу p2p.

Карстен Герлофф, президент FSF Europe: „Мы уходим от необходимости централизованно контролировать сервисы. Мы понимаем, насколько важна независимость и инфраструктура, не имеющая единой точки отказа. В будущем мире распределённых систем свободные поисковые системы, такие как YaCy - важный элемент.“

Присоединиться к сети можно, установив YaCy на свой компьютер - инсталляция включает в себя crawler и веб-интерфейс для администрирования. Для работы YaCy требуется OpenJDK6 и около 4 Гб для индексов и страниц. Чтобы делиться информацией с другими узлами сети и принимать от них запросы на индексирование страниц (Senior mode в терминологии YaCy) может понадобиться проброс порта на маршрутизаторе. YaCy - кроссплатформенное приложение, распространяемое под лицензией GPL.

Сайт проекта
Поисковый портал (внимание, по ссылке - слэшдот-эффект)
Технические подробности на английском

>>> Оригинал новости в рассылке FSF Europe

★★★★★

Проверено: Shaman007 ()

Ответ на: комментарий от vurdalak

Индексирует по твоей команде и/или помогая остальным через DHT-запросы. Настройка есть. Жрет.. Меньше, чем freenet точно. С i2p не сравнивал.

anonymous ()
Ответ на: комментарий от anonymous

То есть если я ему не прикажу индексировать ЛОР и никто из сети не прикажет, он так и не будет о нем знать?

vurdalak ★★★★★ ()

она такая прожорливая, что для неё нужен отдельный комп с тучей оперативки и мощным процессором..

AGUtilities ★★★ ()

Поставил, вещь хорошая, но через двадцать минут отожрало 523 Мб памяти (из одного гига). Пришлось отключить и удалить:(

HerrWeigel ★★★★ ()
Ответ на: комментарий от HerrWeigel

но через двадцать минут отожрало 523 Мб памяти

Привет, неосиляторам настроек. Там по-дефолту и есть жрать 500 гигов памяти. Java же.

anonymous ()
Ответ на: комментарий от vurdalak

Запилите кто-нибудь ебилд плиз.

server yacy # cat yacy-1.0.20111127.8121.ebuild # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2

inherit eutils versionator

MAJOR_PV=«$(get_version_component_range 1-2)» REL_PV=«$(get_version_component_range 3)» SVN_PV=«$(get_version_component_range 4)»

DESCRIPTION=«p2p based distributed web-search engine - latest stable binary» HOMEPAGE="http://www.yacy.net/" SRC_URI="http://www.yacy.net/release/yacy_v${MAJOR_PV}_${REL_PV}_${SVN_PV}.tar.gz" SLOT=«0» KEYWORDS=«~x86 ~amd64» DEPEND=«>=virtual/jdk-1.5.0» LICENSE=«GPL-2» IUSE=«»

S=«${WORKDIR}/yacy»

src_install() { dodir /opt mv «${S}» «${D}/opt/${PN}» chown -R ${PN}:${PN} «${D}/opt/${PN}» }

pkg_setup() { enewgroup ${PN} enewuser ${PN} -1 /bin/bash /opt/${PN} ${PN} }

pkg_postinst() { einfo «This is the plain install without initscripts.» einfo «Keep in mind, YaCy works in /opt/yacy/DATA» einfo «so its a good idea to move it to /var und symlink it.» einfo «Logfiles are in /opt/yacy/DATA/LOG instead of /var/log» einfo «For details (in german) about YaCy on Gentoo look at:» einfo " http://yacy-websuche.de/wiki/index.php/De:GentooInstall" }

anonymous ()
Ответ на: комментарий от anonymous

Плять.

server yacy # cat yacy-1.0.20111127.8121.ebuild
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

inherit eutils versionator

MAJOR_PV=«$(get_version_component_range 1-2)»
REL_PV=«$(get_version_component_range 3)»
SVN_PV=«$(get_version_component_range 4)»

DESCRIPTION=«p2p based distributed web-search engine - latest stable binary»
HOMEPAGE="http://www.yacy.net/"
SRC_URI="http://www.yacy.net/release/yacy_v${MAJOR_PV}_${REL_PV}_${SVN_PV}.tar.gz"
SLOT=«0»
KEYWORDS=«~x86 ~amd64»
DEPEND=«>=virtual/jdk-1.5.0»
LICENSE=«GPL-2»
IUSE=«»

S=«${WORKDIR}/yacy»

src_install() {
dodir /opt
mv «${S}» «${D}/opt/${PN}»
chown -R ${PN}:${PN} «${D}/opt/${PN}»
}

pkg_setup() {
enewgroup ${PN}
enewuser ${PN} -1 /bin/bash /opt/${PN} ${PN}
}

pkg_postinst() {
einfo «This is the plain install without initscripts.»
einfo «Keep in mind, YaCy works in /opt/yacy/DATA»
einfo «so its a good idea to move it to /var und symlink it.»
einfo «Logfiles are in /opt/yacy/DATA/LOG instead of /var/log»
einfo «For details (in german) about YaCy on Gentoo look at:»
einfo " http://yacy-websuche.de/wiki/index.php/De:GentooInstall"
}

anonymous ()
Ответ на: комментарий от vurdalak

Ну.. Есть вариант еще, что его зацепит через ссылку на другом сайте (глубина поиска же)

anonymous ()
Ответ на: комментарий от XVilka

Вот думаю - чего им бы не сделать это на C++ с Qt или boost? Будет куда меньше жрать памяти, да и скорость хоть немного повысится.

Chaser_Andrey ★★★★★ ()
Ответ на: комментарий от Chaser_Andrey

А нахрена писать поисковый движок при помощи графической библиотеки? Там вообще ничего нет, по сравнению с явой.

anonymous ()
Ответ на: комментарий от Chaser_Andrey

чего им бы не сделать это на C++ с Qt или boost?

Потому что это не нужно. Вон извращенцы из mumble сделали серверную часть на Qt. Пришлось ковыряться и переходить на uMurmur, которая столько не жрет.

anonymous ()
Ответ на: комментарий от anonymous

Следи за моими губами, дятел. «Код выполняется на компьютерах пользователя».

Внимание, идиот в треде.

self-learningMACHINE ()
Ответ на: комментарий от Chaser_Andrey

Dbus - это конечно круто. Но для построения высокопроизводительного распределенного приложения Qt категорически не годится. Это графическая библиотека, с кучей дополнительных приблуд для любительского программирования.

anonymous ()
Ответ на: комментарий от anonymous

Чувак, хватит пороть чушь. Какая графическая библиотека, если вот прям сейчас у меня крутятся демоны, написанные на C++/Qt, на серваке, где ни какой речи о графе и быть не может?

Qt != QtGui

Chaser_Andrey ★★★★★ ()
Ответ на: комментарий от anonymous

dbus - это только приятная штука из-коробки. Никто не заставляет использовать её везде.

Chaser_Andrey ★★★★★ ()
Ответ на: комментарий от Chaser_Andrey

И чего делают твои демоны на серваке? Qt - это срань по типу вижуалбейсика в винде, чтобы наговнякать кода побыстрому.

anonymous ()
Ответ на: комментарий от stevejobs

А хрен его знает, вроде он не очень подходит для серьезной обработки больших объемов данных.

anonymous ()
Ответ на: комментарий от anonymous

Привет, тут зависит от данных. Как числодробилка - не очень, а как анализатор поточных данных - самое то. Поисковик - как раз поточка, т.е. самый профиль.

stevejobs ★★★★☆ ()
Ответ на: комментарий от anonymous

Демон для AMI-интерфейса Астериска, демон для работы с веб-сокетами, и демон для работы с БД и управлениями двумя первыми.

Qt - это срань по типу вижуалбейсика в винде, чтобы наговнякать кода побыстрому.

Аргументы? Скорее всего ты даже нихрена не знаешь о внутренностях Qt.

Chaser_Andrey ★★★★★ ()
Ответ на: комментарий от Chaser_Andrey

и знать не собираюсь, когда я на нее смотрел, там даже нельзя было поменять приоритет тредов, о чем тут вообще можно говорить.

anonymous ()
Ответ на: комментарий от anonymous

void QThread::setPriority ( Priority priority )

This function sets the priority for a running thread. If the thread is not running, this function does nothing and returns immediately. Use start() to start a thread with a specific priority.

The priority argument can be any value in the QThread::Priority enum except for InheritPriorty.

The effect of the priority parameter is dependent on the operating system's scheduling policy. In particular, the priority will be ignored on systems that do not support thread priorities (such as on Linux, see http://linux.die.net/man/2/sched_setscheduler for more details).

This function was introduced in Qt 4.1.

Но видишь ли...

the priority will be ignored on systems that do not support thread priorities (such as on Linux, see http://linux.die.net/man/2/sched_setscheduler for more details

Chaser_Andrey ★★★★★ ()
Ответ на: комментарий от Chaser_Andrey

Не понял, они хотят сказать что в линуксе нет поддержки приоритетов потоков в шедулере?

anonymous ()
Ответ на: комментарий от Chaser_Andrey

qt - да, boost, я его недолюбливаю. Но в любом случае для программиста, имхо, нет разницы - C++/Qt vs Java (если знает оба языка). Все что нужно - под рукой. Вот и я удивляюсь, зачем таким программам (это ж не ынтерпрайз какой) ява.

XVilka ★★★★★ ()
Ответ на: oh really? tell me more от anonymous

Ололо - основной посыл сообщения, в том, что программисты, которые предпочитают С++ против чистого Си без веских причин - не нужны. Но никак не потому, что С++ - не кроссплатформенный.

С++ хорош, но главная его проблема - большая избыточность, но есть куча вещей, которые трудно реализовать на чистом Си быстро и компактно.

XVilka ★★★★★ ()
Ответ на: комментарий от XVilka

boost, я его недолюбливаю

Тоже самое :)

Вот и я удивляюсь, зачем таким программам (это ж не ынтерпрайз какой) ява.

Аналогично. Да и казалось бы FSF любого региона должна подальше держаться Java (о разборках ещё не забыли ведь?), тем более, киллер-фичи практически нивелируются при использовании с C++ хорошого фрейморка.

Chaser_Andrey ★★★★★ ()
Ответ на: комментарий от anonymous

у qt, как раз, с переносимостью обстоят дела лучше всех :) А пользователю (потому что это p2p, а значит нагрузка на пользовательские машины) - как раз проще (и быстрее) скачать и запустить скомпилированный бинарник, можно даже статически. Работать будет - в разы быстрее.

XVilka ★★★★★ ()
Ответ на: комментарий от Chaser_Andrey

Да, и на том же Qt могли бы сделать графического сетевого агента, например как Copernic Pro, или что-то в это роде. И гуевую софтину, чтобы подсовывать ей документы, например в формате pdf, odt.

XVilka ★★★★★ ()

На D пускай пишут.

На худой конец OCaml или Go.

Жабоверсия сойдёт только как прототип.

anonymous ()
Ответ на: комментарий от Chaser_Andrey

На вопрос про приоритете отвечать будем? Проблема кути - слишком низкий уровень для разработчика. Я сильно подозреваю, что все ее сетевые функции не мультипоточны и не поддерживают неблокирущий ввод/вывод. Писать это будешь сам, вот тогда и поймешь проблемы кути на маке и венде :)))))

anonymous ()

Эта хренотень не предназначена для одноядерных машин с частотой не более 1,2 ГГц. Даже с ограничением по памяти эта сволочь умудряется занять проц на 100% из-за чего в веб-модру стачаться бесполезно! Просто не реагирует. На двухголовом работает вроде нормально. Так что в жопу такую реализацию хорошей идеи! Снес.

anonymous ()
Ответ на: комментарий от anonymous

На вопрос про приоритете отвечать будем?

Тебе перевести раздел «Privileges and resource limits» или сам прочтёшь?

Я сильно подозреваю, что все ее сетевые функции не мультипоточны и не поддерживают неблокирущий ввод/вывод.

Ошибаешься, мой дорогой анон.

Писать это будешь сам, вот тогда и поймешь проблемы кути на маке и венде :)))))

Я лишь скажу, что вышеприведенные демоны писал сам. Также был опыт создания пользовательских приложений, так что с виндой проблем не было. С маком работал лишь пару раз на виртуалке - всё так же было нормально. Так в чём должны быть грабли?

Chaser_Andrey ★★★★★ ()
Ответ на: комментарий от anonymous

Я сильно подозреваю, что все ее сетевые функции не мультипоточны и не поддерживают неблокирущий ввод/вывод

Ты, дятел, сначала хоть википедию открыл бы. неблокирущий ввод/вывод Qt не поддерживает... Там блокирующий сделать сложнее, чем неблокирующий.

поймешь проблемы кути на маке и венде

Проблема Qt на винде - отсутствие приличного компилятора (пробовал студию и mingw).

Divius ★★ ()

Дополню, криво работает пакет, собранный под дебиан на одноголовом камне. Скачанный дистрибутив с офф. сайта в архиве работает без особых проблем. Если захотите заюзать, лучше юзать с архива. Только под рутом не запускайте :)

anonymous ()
Ответ на: комментарий от anonymous

Друзья, это гулгкапец или как? Сама идея просто великолепна, я давно заметил, что все поисковые ресурсы выдают не всю информацию в сети, их контролируют.

Если отрубить фильт то первый миллион результатов на запрос будет порнуха. Неважно что ты написал в запросе. Смекаешь?

А вообще тотальный всем капец возможен. Когда маршрутизация будет только p2p.

anonymous ()

«Porno» не ищет, не взлетит. Зачем нужен поисковик, не умеющий искать порнуху. :)

anonymous ()
Ответ на: комментарий от Oreolek

какая-то утечка памяти

это не утечка, это особенность работы Java с памятью

pv4 ★★ ()

Для релиза сыровато, очень сыровато. Какие то траблы с паролями (никаких паролей я не задавал, а говорит вход свободный). Короче, пусть еще попилят немного и через пару месяцев можно будет еще раз поставить на посмотреть. А вообще жаба не нужна.

anonymous ()

Поставил сей софт на сервак, жрет 500 метров оперативы (потому что не изменял настройки, при 8 гигах оперативы 500 метров - капля в море), канал широкий у сервака, процы приличные (два двуведерника), винт тоже. Деб сквизи. Поставил сканить офсайт своей конторы с вложенностью 8. За 5 часов краулинга уже накраулило 150 тыщ урлов, 500 с чем-то тыщ ключевых слов. Краулит до сих пор, и пускай краулит. поставлю в крон на период (время работы краулинга * 2 ). Ради хорошего дела не жалко, тем более в низком приоритете, когда основные задачи не грузят сервак.

А тем кто жалуется на жручесть - юзайте нормальное железо а не хрень собранную на коленке из антиквариата.

fooser ()
Ответ на: комментарий от Karapuz

У меня есть подозрения, что оверхед на хранение индексов в C++/Qt можно уменьшить. Т.е., атрибути заменить битовыми массивами, и если идет речь конкретно о Qt, то, помимо общеизвестных для кутешников QList, QMap, QHash и т.д., заюзать QVector и QVarLengthArray.

При всяком возможном случае использовать implicit sharing, передавать в функции значения по константной ссылке, и вообще избегать deep-copy. В этом Qt чрезвычайно хорош.

Разве у Java с этим так всё замечательно?

В дополнение можно было бы использовать egrep, который в regex рвёт всех и вся. Пруф http://lh3lh3.users.sourceforge.net/reb.shtml

Chaser_Andrey ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.