Пользователь
15,2
рейтинг
12 февраля 2014 в 22:03

Разработка → Yacy — распределённый не цензурируемый поисковик: три года спустя



Yacy — это децентрализованная поисковая машина, которая позволяет осуществлять поиск информации в интернете без локальной или глобальной цензуры или любых других ограничений.

Первое и единственное упоминание о нем на хабре было 29 ноября 2011.

Но с того времени многое изменилось, давайте посмотрим на него еще раз.

Основные возможности и преимущества Yacy:


— Децентрализованный поиск и хранение индекса — в сети DHT
— Три режима работы: 1) Глобальный поисковой индекс, 2) Групповой индекс, 3) Локальный индекс
— Отсутствие рекламы
— Отсутствие какой-либо цензуры (государственной, копирайтной)
— Огромное количество настроек

Основные недостатки:


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

Что изменилось за три года ?


— Поддержка русскоязычных поисковых запросов
— Появились подсказки в во время ввода поискового запроса
— Опережающий поиск — пока вы печатаете yacy уже ищет пиров с данным контентом
— Улучшились алгоритмы поиска и выдачи — более релевантный результат
и миллионы других мелких изменений под капотом.

Как работает Yacy?


Индексирование

Индексирование может быть инициировано следующими путями:
1) Принудительное указание начала сканирования
2) Удаленный запрос от другого пира
3) Настройка проксирования всех запросов от браузера к Yacy с последующий индексацией того, что вы читаете

После составление базы индекса она сохраняется локально, рассылая в сеть информацию о том, что она у вас есть, и распределяется по DHT на соседних пиров.

Поиск

Во время процесса поиска Yacy сначала ищет результаты в локальном индексе, а затем в глобальном, связываясь по DHT c пирами, у которых есть сведения об индексе того или иного запроса/сайта.

Результаты поиска от Yacy:





Официальный сайт проекта yacy.net/en
Windows yacy.net/release/yacy_v1.68_20140209_9000.exe
Linux yacy.net/release/yacy_v1.68_20140209_9000.tar.gz
OS X yacy.net/release/yacy_v1.68_20140209_9000.dmg

Тестовая поисковая страницы search.yacy.net (которая может упасть от большого трафика)

PS Последняя статья была три года назад, если хабр пользователям будет интересна тема децентрализованных поисковых систем, я готов сделать обзор всего функционала Yacy и рассмотреть подробно как она работает
Хотите ли вы пользоваться децентрализованными поисковыми системами?

Проголосовало 2172 человека. Воздержалось 630 человек.

А почему вы хотите/не хотите ими пользоваться?

Проголосовало 2200 человек. Воздержалось 634 человека.

Хотите еще почитать про Yacy?

Проголосовало 2254 человека. Воздержалось 468 человек.

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

Shift @shifttstas
карма
52,0
рейтинг 15,2
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (141)

  • –1
    Хм, интересно, почему я решил ту виртуалку с нодой погасить да так и не запустил обратно? Надо ещё раз ноду поставить.
  • 0
    На картинке с поиском навального, одна страница на lurkmore.to находится в выдаче дважды.
    • +2
      Одна по http другая по https.
  • +4
    С релевантностью у него не очень. По запросу google на первых 10-ти позициях его нет
    • 0
      Конкретно на главную сайта он очень редко выдает ссылки, а вот по содержанию страницы — отлично ищет
    • 0
      На картинках в статье с яндексом, насколько вижу, та же история
    • +1
      А вы попробуйте habrastorage в гугле поищите, например. Еще очень радует «ssh-add»
    • 0
      Это не показатель релевантности, зачем вам искать главную страницу гугла? О_о Попробйте на реальных запросах.
      • 0
        Дело не в главной гугл. Google это же ведь компания, согласны? :)

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

        p.s: поставил у себя ежемесячное сканирование русских вики ресурсов, сейчас уже досканировались, по идее должно было полегчать, но не полегчало, стало быть у YaCy действительно проблемы.

        p.p.s: по запросу «Компания Google» тоже ничего :( в общем печаль, как она есть.
      • 0
        Ссылка на комментарий к версии 1.0, с релевантностью 3 года назад была такая же беда, видимо надо самим присоединяться к проекту и что то делать, ибо проект полезный и интересный, но, к сожалению, для глобального поиска абсолютно не приспособленный.
  • +6
    Релевантность поражает. По запросу «яндекс» первой строчкой должна выходить ссылка на данный ресурс. Это как яркий пример, с которым, думаю, все согласятся.

    Исходя из этого, вполне закономерный вопрос — «Зачем? Как применять?». Я понимаю, что в условиях информационных войн и повальной цензуры, децентрализованный поиск это как глоток свежего воздуха, но в чем смысл сервиса, который не выполняет свои функции или делает это не достаточно хорошо?

    Я для себя не нашел применения этому. Да, я избалован Гуглом и откатываться лет на 10 назад, у меня нет желания.

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

      Согласен что так быть не должно, но надо придумать алгоритм как поисковик будет распознавать какой сайт показывать как основной на основе url
      • +1
        Алгоритм давно известен. Именно он сделал гугл популярным — page rank. Хотя этим часто злоупотребляют сеошники, это да
        • +6
          Несовсем, в большинстве случаев учитывается поведение пользователей при поиске для улучшения дальнейшего поиска
          • +2
            Если я не залогинен, гугл ищет так же хорошо.
            • +29
              Это вы думаете, что не залогинены ;)
              • –8
                Веруете во всесильность Гугла?
                • +3
                  Здесь даже всесильности не нужно. Уже показывали, что открытых данных (id строка броузера, локаль, версия, ip, разрешение и д.р.), которые сообщает броузер достаточно, чтобы уникально идентифицировать пользователя и без всяких АНБ-шных штучек.
            • +1
              Да, но каким образом ваша залогиненность влияет на поведение других пользователей?
        • +6
          У гугла PageRank уже далеко на основной способ ранжирования.
          • 0
            а что основной?
            • –1
              Денежки.
              • +4
                Это агентство ОБС вам сообщило?
                • +2
                  Я давно подозреваю, что моя поисковая выдача больше зависит от того, сколько я сегодня оплатил за клики, нежели от хорошей поисковой оптимизации контента.
                  Это паранойя?
            • +3
              Думаю верным ответом будет «никто не знает» т.к. официальной информации на эту тему нет, а все остальное — гадание на кофейной гуще. Возможно, впрочем, что я ошибаюсь т.к. к счастью уже давно не приходилось заниматься сео.
              С другой стороны насчет page rank — да, напрямую на ранжирование он не влияет, зависимость какая-то определенно есть, но не более.
            • 0
              В перспективе все сводится к так называемому «поведенческому фактору». Лайки, шары, репосты, ретвиты, ну и, конечно, посещения. Кто, откуда, по каким запросам, как быстро ушел. Давненько не интересовался, насколько далеко Гугл в этом зашел, но примерно так выглядит ближайшее будущее (или уже настоящее) поиска.
              • +2
                Это временная мода и она быстро сойдёт на нет благодаря накручивающим ботам и продаже права голоса. Будущее за развитием семантического анализа и языка взаимодействия человека и машины.
            • 0
              Анализ содержимого сайта с точки зрения удобства пользователя.
              en.wikipedia.org/wiki/Google_Panda
    • +1
      У него очень маленькая база по русским сайтам. Я натравил когда-то на Хабр, Луркмор и свой сайт, и этот индекс распространился по сети — на этом фактически всё закончилось. На текущий момент ситуация всё ещё такая: хотите найти полезную информацию — сами добавляйте сайты, где она есть.
      • 0
        Ну так а в чем проблема? Автор в статье написал же про режим индексирования посещаемых страниц.
        • 0
          Это отдельные страницы, а я больше про то, что никто не пользуется добавлением сайтов. Индекс рунета почти не растёт.
          • +1
            Ну тут я с вами соглашусь. Но вообще, решил начать, как говорится, с себя: закроулил сайты по электронике, смолтоку и линуксам.

            Спустя сутки, качество выдачи стало улучшаться прямо на глазах :) Я думаю, если народ пойдет в тему, очень скоро мы получим заметный результат.
            • 0
              Ну вот у меня висит в FF виджет от Blippex, отправляет на свой сервер адреса тех сайтов, где я бываю.
              Запилить такой же для Yacy и ставить всем подряд ))
              • 0
                Так вроде Yacy умеет работать в таком режиме. Augmented что ли. То есть вы используете его как прокси, а он еще потом кроулит страницы, что вы посещали.
                • 0
                  Верно, умеет
                • +1
                  Ненене, одно дело поставить маленький аддон в браузер, который ни на что не влияет, а другое — пускать интернет через доппрослойку, которая может создать проблемы.
                  На своём компе — да, не вопрос. Но я имел в виду способ охватить и все соседские и не только компы, чтобы быстрее набралась база сайтов.
                  То есть добавить ещё функционал в Yacy, чтобы парсил не только свои сайты, но и те, адреса которых ему присылают «тонкие клиенты», которые не могут сами кроулить.
                  • 0
                    я использую скрипт для greasemonkey/tampermonkey простейший вида
                    (по мотивам veclabs.posterous.com/ — добавлена явная проверка что не посылать)
                    // ==UserScript==
                    // @name YaCyIndexer
                    // @namespace https://yacy.domain.com
                    // @description Indexes visited pages with YaCy.
                    // @version 0.1
                    // @match *://*/*
                    // @grant GM_xmlhttpRequest
                    // @grant GM_log
                    // ==/UserScript==
                    
                    // User parameters:
                    var paramYaCyLocation = 'http://yacy.domain.com';//адресВашегоСервера
                    var paramEnableQueryString = true; // Index pages with query strings (possible privacy leak).
                    var paramDepth = 1; // 0 = only the visited page; 1 = all links on visted page; higher values will index deeper but use exponentially more bandwidth.
                    var paramAgeNum = 7; // pages already indexed since this time won't be re-indexed.
                    var paramAgeUnit = 'day'; // units for above
                    
                    // YaCy Arguments -- Don't change these unless you've read the YaCy API docs.
                    var crawlingstart = '';
                    var crawlingMode = 'url';
                    var crawlingURL = paramEnableQueryString ? window.location.href : [location.protocol, '//', location.host, location.pathname].join('');
                    var bookmarkTitle = '';
                    var crawlingDepth = paramDepth;
                    var directDocByURL = 'off';
                    var crawlingDepthExtension = '';
                    var range = 'wide';
                    var mustmatch = '.*';
                    var mustnotmatch = '';
                    var ipMustmatch = '.*';
                    var ipMustnotmatch = '';
                    var indexmustmatch = '.*';
                    var indexmustnotmatch = '';
                    var deleteold = 'off';
                    var recrawl = 'reload';
                    var reloadIfOlderNumber = paramAgeNum;
                    var reloadIfOlderUnit = paramAgeUnit;
                    var countryMustMatchSwitch = 'false';
                    var crawlingDomMaxCheck = 'off';
                    var crawlingQ = paramEnableQueryString ? 'on' : 'off';
                    var storeHTCache = 'off';
                    var cachePolicy = 'iffresh';
                    var indexText = 'on';
                    var indexMedia = 'on';
                    var crawlOrder = 'off';
                    var collection = 'user';
                    
                    var yacy_url = paramYaCyLocation + '/Crawler_p.html?crawlingstart=' + encodeURIComponent(crawlingstart) + '&crawlingMode=' + encodeURIComponent(crawlingMode) + '&crawlingURL=' + encodeURIComponent(crawlingURL) + '&bookmarkTitle=' + encodeURIComponent(bookmarkTitle) + '&crawlingDepth=' + encodeURIComponent(crawlingDepth) + '&directDocByURL=' + encodeURIComponent(directDocByURL) + '&crawlingDepthExtension=' + encodeURIComponent(crawlingDepthExtension) + '&range=' + encodeURIComponent(range) + '&mustmatch=' + encodeURIComponent(mustmatch) + '&mustnotmatch=' + encodeURIComponent(mustnotmatch) + '&ipMustmatch=' + encodeURIComponent(ipMustmatch) + '&ipMustnotmatch=' + encodeURIComponent(ipMustnotmatch) + '&indexmustmatch=' + encodeURIComponent(indexmustmatch) + '&indexmustnotmatch=' + encodeURIComponent(indexmustnotmatch) + '&deleteold=' + encodeURIComponent(deleteold) + '&recrawl=' + encodeURIComponent(recrawl) + '&reloadIfOlderNumber=' + encodeURIComponent(reloadIfOlderNumber) + '&reloadIfOlderUnit=' + encodeURIComponent(reloadIfOlderUnit) + '&countryMustMatchSwitch=' + encodeURIComponent(countryMustMatchSwitch) + '&crawlingDomMaxCheck=' + encodeURIComponent(crawlingDomMaxCheck) + '&crawlingQ=' + encodeURIComponent(crawlingQ) + '&storeHTCache=' + encodeURIComponent(storeHTCache) + '&cachePolicy=' + encodeURIComponent(cachePolicy) + '&indexText=' + encodeURIComponent(indexText) + '&indexMedia=' + encodeURIComponent(indexMedia) + '&crawlOrder=' + encodeURIComponent(crawlOrder) + '&collection=' + encodeURIComponent(collection);
                    // проверяем не запрещено ли нам вообще этого host'а касатся
                    if ( (location.host!="accounts.google.com") && (location.host!="apis.google.com")  && (location.host!="mail.google.com") && (location.host!="s-static.ak.facebook.com"))
                    {
                       
                        GM_xmlhttpRequest({
                            method: "GET",
                            url: yacy_url,
                            onload: function(response) {
                                //  GM_log("YaCy indexing should commence.");
                            }
                        });    
                    }
                    else
                    {
                    //    GM_log("Will NOT process host:"+location.host);
                    }
                    

                    недостаток — забивается слегка лог
                    с режимом proxy-индексации у меня было несколько проблем:
                    — страница должна запрашиваться без кук (или он не будет индексироваться, возможно я что-то путаю) а куча сайтов куки ставит даже когда юзер не залогинен
                    — если нет возможности YaCy как прокси прописать потому что уже прописано что-то другое и надо воротить сложные цепочки (допустим надо часть трафика направлять через прокси в европе, часть-директом, часть (*.i2p) вообще на I2P-ноду отдавать )

                  • 0
                    А что вы понимаете под базой сайтов? Если говорить про список доменов, то он набирается автоматически даже от одного единственного кроулера. Ниже представлен результат нескольких часов кроулинга хабра с моей ноды (кликабельно).

                    Поскольку кроулер шагает по ссылкам, предоставляемым пользователями, тут получается гораздо меньше сеошного шлака. В то же время, ссылки как правило ведут на осмысленные страницы. Другое дело, что релевантность будет определяться исключительно точностью запроса. Так что, на запрос «google» поисковик разумно возразит «ну а что гугл? есть такое слово» и в общем-то будет прав.



                    А вот граф для русской Википедии:

                    • 0
                      [offtop] Ссылки на картинки чучуть поломатые. Но после правки работают. [/offtop]

                      Ну насчёт списка доменов согласен, не был в курсе про такой функционал. Чтобы не было шлака, можно отдавать не домен, а прямо адрес страницы (вырезая POST-запросы и прочие персональные данные). Шпионство? Если отправлять анонимно и только один раз (опираясь на историю браузера), то это допустимое шпионство.

                      Опять же, Вы добавите хабр, а другой, кому Вы поставите такой виджет или юзерскрипт, добавит свои сайты. Так, глядишь, и теневой интернет выплывет ))

                      В данный момент стоит задача набрать критическую базу пользователей и данных для них, чтобы горстка энтузиастов не тянула всё на себе. А насколько это будет жизнеспособным и востребованным — покажет время.
  • 0
    Кто-нибудь объясните, пожалуйста, хотя бы в двух словах, как работает p2p поисковик?.. У меня более или менее укладывается в голове p2p файлообменник, торрент, но поисковик как-то не очень)
    • +2
      Каждый узел в сети имеет часть индекса, и он объявляет об этом, когда вы ищите Морковь то по DHT вам отвечают что на таких-то узлах есть информация по вашему поисковому запросу, ваш узел идет туда и собирает её, затем уже ранжирует
      • 0
        а может ли узел подделать свою часть индекса?
        • +4
          теоритически — да, но в Yacy есть механизмы защиты, которые тянут на отдельную статью
          • +8
            Хотеть такую статью :)
          • +1
            Теоретически, если я пир я вижу айпи того кто забирает у меня какую-то информацию?
            И если да, то какая же это анонимность? Выложил зловредный контент, записал всех кто с тебя тянет его, наругал всех кого записал.
            • +1
              Распределение информации в сети происходит хаотично и вы не трогаете и не храните контент, вы храните где этот контент найти
              • 0
                Ну где-то он ведь хранится? Допустим у меня и хранится. Я выкладываю порнуху детскую, все видят что она у меня есть, и сообщают это тем кто ее ищет. У меня ведь ее будут тянуть? И если да, то буду ли я видеть их айпи?:)
                • 0
                  Те кто к вам заходят? очевидно да они же по IPv4 будут заходить хотя они могут использовать прокси или Tor т.е как в обычном интернете.

                  Если же вы имеете ввиду будите ли вы видеть IP адреса людей котяре ищут её без захода к вам — то не факт, ты индекс о том, что у вас это есть хранится не только у вас + ваш индекс может быть переслан через несколько пиров (аналог луковой маршрутизации)
      • 0
        Что представляют из себя узлы? Устройства волонтеров/добровольцев? Или по сереверам разбросано?
  • 0
    А шифрование там есть?
    • +1
      Чего именно? Обмена по P2P — да
  • 0
    Отличный проект. Сам когда-то о таком задумывался. Похоже сделали так как хотел )
    Для себя делал прокси с Solr для поиска.
  • +2
    Ура!!! Наконец-то мы сможем найти Навального!!! Вопреки свирепствующей цензуре!!!
    • +7
      Причем сразу на правильном ресурсе)
  • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      С опросами вообще всё плохо. Все варианты жутко категоричны.
      • +2
        А что бы следовало добавить?
        • +1
          «Хочу пользоваться несмотря на ...» и дальше четыре положения из «не хочу», аналогично поступить с пунктами «хочу». Если развивать мысль дальше, то «надо», «буду» и «хочу» — очень разные люди.

          Все эти восемь пунктов хочу/не хочу, это восемь независимых опросов, с различными степенями детализации ответов. В идеале, каждому опросу должна соответствовать хорошая статья о том, что это вообще такое, как это реализовывается и какова цена вопроса — имхо, наш социум, даже его «техническая элита» с этого сайта, скажем так, на грани необходимости проведения ликбеза по каждому из пунктов.
  • +6
    если хабар пользователям будет интересна тема децентрализованных поисковых систем, я готов сделать обзор всего функционала Yacy и рассмотреть подробно как она работает

    Мне был бы очень интересен подробный разбор работы их DHT. В сети ничего — за исключением исходного кода — не нашел, как ни старался.
    • +2
      Я думаю, что общая идея такая же, как в Kademlia (Как работает поиск в Kad Network). Вообще тоже бы хотелось увидеть подробное описание их протокола.
  • 0
    Подняли бы ссылочку на ресурс на самый верх статьи, или продублировали…
    • +3
      У ресурса проблема с размером канала который может не выдержать, гораздо лучше установить себе свой клиент
  • +2
    Интересно, и как туда добавить свой ресурс?
    • 0
      Проиндексировав его с вашей машины и подождать пока индекс разбежиться по DHT
      • 0
        Как обстоят дела с индексацией? Правильно ли я понимаю что yacy просто попытается спарсить сайт и вполне может получить бан?
        • 0
          Она ведет себя полностью как поисковой бот и многими системами так и определяется например в форуме PHPBB она умеет читать robots файл умеет ждать между запросами, я пробовал индексировать сайты и они не банят yacy habr/wiki — точно
          • 0
            После начала индексации yacy (и меня за компанию) благополучно забанили на некоторых сайтах.
            На некоторых поиск изменился: результатов стало больше, но в топе оказались менее полезные страницы. Интересно, изменится ли ситуация после того как сайт полностью проиндексируется.
            • 0
              Да измениться, так же измениться после рассылки информации в сеть

              От бана может спасти уменьшение скорости индексирования я обязательно рассмотрю это в следующем посте
        • 0
          Yacy — это обычный поисковый бот, он не скрывает это и подчиняется правилам из robots.txt. Скорость парсинга легко настраивается заранее или во время парсинга, а также можно поставить запрос на remote crawl — парсинг всей сетью.
          • 0
            И тем не менее его работа у меня вызывает больше вопросов чем ответов.

            Для habrahabr crawl-delay задан равным 10, что даёт 6 запросов в минуту. Yacy показывает Crawler PPM равным 6. Это логично.
            habrahabr.ru/robots.txt
            User-agent: Yandex
            Crawl-delay: 2
            Disallow: /search/
            Disallow: /js/
            Disallow: /css/
            Disallow: /ajax/
            Disallow: /login/
            Disallow: /register/
            Host: habrahabr.ru
            
            User-agent: Googlebot
            Crawl-delay: 2
            Disallow: /search/
            Disallow: /js/
            Disallow: /css/
            Disallow: /ajax/
            Disallow: /login/
            Disallow: /register/
            
            User-agent: Slurp
            Crawl-delay: 8
            Disallow: /search/
            Disallow: /js/
            Disallow: /css/
            Disallow: /ajax/
            Disallow: /login/
            Disallow: /register/
            
            User-agent: *
            Crawl-delay: 10
            Disallow: /search/
            Disallow: /js/
            Disallow: /css/
            Disallow: /ajax/
            Disallow: /login/
            Disallow: /register/
            



            anidb.net вообще запрещает индексацию сайта. yacy наплевал на robots.txt и добился бана по ip
            anidb.net/robots.txt
            User-agent: *
            Disallow: /
            
            User-agent: Spinn3r
            Disallow: /
            
            User-agent: Tailrank
            Disallow: /
            
            User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1; aggregator:Spinn3r (Spinn3r 3.0); http://spinn3r.com/robot) Gecko/20021130
            Disallow: /
            



            Скорость парсинга легко настраивается заранее или во время парсинга, а также можно поставить запрос на remote crawl — парсинг всей сетью.

            Можно пояснить этот момент?
            Насколько я вижу, можно задать только Speed / PPM, что является общим лимитом для всех индексаций.
            Помимо этого можно заставить yacy игнорировать robots.txt и долбить сайт одному или с друзьями?
            • 0
              На вкладке Crawl Start (Expert) есть галочка Do Remote Indexing, которая отправляет заявку по всей сети.
              Все задержки настраиваются на Advanced Settings — Performance Settings of Busy Queues.

              Хотя согласен, настройки хорошо спрятаны.
  • +2
    объясните пожалуйста, запрос «camomile dreams», почему у меня в результате полный список дистфайлов и образов генты? Что это за красноглазые намеки?
    Сдается мне что оснавная часть индекса набивается во время посещений сайтой, поэтому индекс напрямую зависит от интересов аудитории. Выходит что популярный контент становится еще популярнее, а непопулярный вообще не попадет в систему и не может быть найден. Так? Ведь кто даст принудительны запрос индексирования сайта которого не знает? Особенно это касается старых, брошенных сайтов, на которых бывает весьма полезная и уникальная информация.
    • +2
      Бот в фоновом режиме обходит все сайты на которые есть ссылки, учтите что сеть индекса не такая как у гугла а значит и время требуется для набора информации.

      В скриншотах я привел пример пары запросов которые обрабатываются достаточно точно + по идее, если данная технология будет популярна — сайты сами у себя будут ставить yacy для быстрого появления новой информации
    • 0
      Индекс напрямую зависит от тех сайтов, которые были добавлены в этот индекс самими пользователями. Кто-то добавил сайт с дистрами генты, а, например, на ЖЖ поисковик ещё никто не натравливал (что даже понятно по скриншотам). Самые преданные пользователи YaCy разговаривают на немецком, и на русские сайты они не заходят.
  • +3
    а portable версия есть?
  • 0
    А где сырцы?
    • +1
      Ссылка на главной не считается?
      • 0
        Не заметил (искал в меню справа)
  • 0
    shifttstas в заголовке «Три годя спустя»
  • –7
    Когда я, активный пользователь интернета, потребитель нелегального копирайтного контента и интересующийся политикой с разных точек зрения человек слышу о поиске без цензуры — мне почему-то только кавказ-центр и детское порно на ум приходит, как вещи которые кто-то мешает искать в обычном гугле. Ни о какой другой цензуре, мешающей искать варез, порно, политику я не слышал, точнее слышал, но не сталкивался лично.
    • +5
      Цензура в данном случае может выглядеть не так как ожидается.

      Например поисковый гигант — монополист, может легко и незаметно уничтожить любую компанию, просто сместив выдачу результатов на нее в конец списка.
      Это очень плохо, когда обычный пользователь считает поисковую систему — интернетом, именно поэтому за настройку поиска 'по умолчанию' google к примеру платит mozilla башенные деньги, а mail.ru/yandex/etc… платят разработчикам бесплатных утилит, чтобы те вставляли в инсталяторы приложений mail.ru guard/yandex bar/… которые перелопачивают пользовательскую систему и его настройки так что любой адекватный администратор за голову хватается и начинает плеваться.

      К сожалению, на текущий момент не существует доступных технологий, которые способны бросить вызов уже сложившейся практике использования поисковых систем, но это нужно менять, дальше будет только хуже.
      • –4
        Например поисковый гигант — монополист, может легко и незаметно уничтожить любую компанию, просто сместив выдачу результатов на нее в конец списка.


        Есть прецеденты? Я пока не сталкивался с нерелевантным поиском.

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


        А при пользовании бесконтрольным децентрализованным поиском — кто отвечает за релевантность выдачи? Кто будет наказывать «сео-оптимизаторов»?
        • +1
          Алгоритмы очевидно же. А когда мы говорим о цензуре мы говорим о том, что из поисковой выдачи могут быть выпилины не угодные власти/режиму новости
          • –2
            Поступиться релевантностью в угоду гипотетической вероятности?
            • +2
              В угоду программируемой вероятности, Яндекс не сразу строился и алгоритмы сначала были тоже не такие продвинутые
        • 0
          А при пользовании бесконтрольным децентрализованным поиском — кто отвечает за релевантность выдачи? Кто будет наказывать «сео-оптимизаторов»?
          я это и имевю в виду, когда говорю что не существует адекватных технологий.

          Ближайшее развитие будет идти в сторону развития 'контент провайдеров', мнение которых будет определять поток информации, фильтруемый для пользователя, который в свою очередь делает выбор между этими контент провайдерами, которых должно быть много.
          • 0
            сео-оптимизаторов наказывают алгоритмами, никаких людских сил не хватит модерировать поисковый индекс всего интернета вручную.
            • 0
              а я разве говорил про ручную обработку?

              Отличным примером контент-провайдера с функцией поисковой системы на текущий момент можно предложить например google или yandex.
              • 0
                Я отвечал тому, кому отвечали вы, но промахнулся. KarasikovSergey говорил про контроль поисковой выдачи, чтобы в нее не попадал поисковый спам, однако, централизованные поисковики тоже не фильтруют выдачу руками, а полагаются целиком на алгоритмы, т.е. этим же самым может заниматься и децентрализованный клиент.
        • 0
          Есть прецеденты? Я пока не сталкивался с нерелевантным поиском.
          roem.ru/2014/02/18/europagoogle92730/
    • –2
      Вы конечно тролльски категоричны, но всё же минусуют зря.
      Цензура — это не детское порно и не кавказ центр. Всё это фигня на фоне маразма творящегося с торрентами, войной за первые позиции и т.п.
      Попробуйте в гугле поискать Яндекс — гугл ничтоже сумняшеся заменит слово «Яндекс» на «Google» и скажет, что я именно это и искал. По многим запросам гугл пихает на первое место википедию, даже если статья там на уровне «заготовка».
      Война с сеошниками, имхо, проиграна — я могу долго и упорно листать страница за страницей в поисках контента, который «на ура» находился раньше, но теперь вместо него, я буду находить бредовую сеошную статью ни о чём, перепечатанную на тысячах сайтов, созданных исключительно для заработка на «прохожих». Это тоже можно рассматривать как форму цензуры, хотя это уже вопрос релевантности.
      Всё это можно списать на то, что тратятся миллионные бюджеты на продвижение ссылками, статьями и т.п. Тот же Яндекс, например, уже декларировал отказ от ссылок как ранжирующего фактора. Но остаётся ещё «миллион» факторов, по которым поисковая система за меня решает, что тот или иной контент мне нужно видеть или не нужно. И независимо от того, ручное это вмешательство в алгоритм с целью устранить конкурента, неугодную действующей власти идеологию или настроенный автомат, (заметим, не без ошибок) реализующий желание мне максимально «угодить» — всё это цензура в той или иной форме. И да, я могу в 95% случаев быть согласным на такую цензуру, она может быть в рамках моих интересов, я могу заниматься самоцензурой. Но я оцениваю как не менее 5% собственную потребность получения полного спектра источников, а не «рекомендованного» и нахожу, что поисковые системы злоупотребляют моим доверием. Экономические же факторы ранжирования (пресловутая коррупция) — всегда остаются существенным риском.
      Здесь выше в комментариях было высказано мнение, что поисковая выдача коррелирует с вложенными в рекламу средствами. Это мнение возникло не на пустом месте и я вполне могу объяснить, почему так происходит: вкладывая средства в рекламу в конкретной поисковой системе, руководство сайта обучает пользователей системы, которые в дальнейшем дают этому сайту некоторое предпочтение и он поднимается за счёт поведенческих факторов. Всё легально, все формальности соблюдены, но цель достигнута — за места нужно платить, посетителей можно покупать и делать это нужно именно в поисковой системе.
      • +3
        > Попробуйте в гугле поискать Яндекс — гугл ничтоже сумняшеся заменит слово «Яндекс» на «Google» и скажет, что я именно это и искал.

        У меня на запрос «яндекс» находит (внезапно!) Яндекс. У нас разный Google?
        • 0
          Значит «разный». Таки они отказались от этой практики и сейчас (внезапно!) гугл действительно показывает Яндекс, да ещё и со страницей профиля. Ну ок, одной претензией к гуглу меньше, но это не отменяет того, что так было. Жаль, не могу предоставить скриншота, в данный момент — это только моё слово.
  • +5
    Просим больше статей.
    Индексирование сайтов i2p/tor будет работать как ожидается?
    • 0
      bugs.yacy.net/view.php?id=330
      > «Remote Proxy» function is missing not reimplemented

      Т.е. он пока не может работать в цепочке прокси. Соответственно, как минимум, с tor ничего не выйдет.
    • 0
      Дополню unxed: с I2P тоже ничего не получится, ибо клиент предоставляет только прокси в качестве интерфейса.

      Однако можно извратиться, и сделать виртуальный интерфейс, к примеру на BadVPN. Ну а далее просто указать этот интерфейс, правда я пока лишь рассуждаю на эту тему и практических изысканий не проводил, так что не могу гарантировать что это будет работать ибо i2p не предоставляет какого либо сервиса (интерфейса), заменяющего DNS, а о подробностях работы TOR мне вообще мало известно.

      Помимо этого в UNIX системах возможно настроить прозрачное проксирование I2P и TOR, и таким образом предоставить доступ YaCy в эти сети.
  • 0
    Поисковик к сожалению имеет очень маленькую базу индексированных страниц.
    По запросу «таракан» выдало всего 18 результатов, 12 из которых принадлежат лурке.

    А часть запросов выдает «1-1 of -UNRESOLVED_PATTERN- „

    Я думаю у проекта большие перспективы, в случае ужесточения цензуры, пока же ему далеко до идеала.
    • 0
      База индекса это, к счастью, вообще не особая проблема, ибо достаточно просто сделать побольше индексирующих нод. Уже сейчас данная статья дала значительный рост русскоязычных нод, и результат на лицо:

      На запрос «таракан» 1-10 из 3 103; (2 946 локально, 4 078 remote), 158 из 39 удаленных узлов YaCy :)

      У меня выдало много интересного, в т.ч. и таракана на викисловаре. Так что всё уже хорошо :)

      p.s: посмотрел на общедоступном поисковике там результаты ещё более интересный, а с локальной ноды, выдалось в первую очередь то, что есть в локальном индексе.
  • 0
    Linux Mint 16, ставил из репозитория с оф.сайта.
    При попытке настроить браузер на использования yacy в качестве proxy, на всех сайтах вижу proxy use not allowed.
    Поискав в интернете причины, узнал, что нужно на http://127.0.0.1:8090/Settings_p.html?page=ProxyAccess снять галку «Nutze Proxy Accounts». Снял. Ничего не изменилось.

    ЧЯДНТ?
    • 0
      Так, с этим разобрались. Нужно зайти на http://127.0.0.1:8090/Settings_p.html?page=http и включить «Transparenter Proxy».

      При этом в качестве https-прокси он выступать не может (логично с точки зрения приватности).
      • 0
        Там есть еще одна интересная особенность, каждому пользователю выдается имя X.yacy к которому как-то можно получить доступ, документов пока не нашел насчет этого
        • 0
          Как раз доступ если зайти через прокси YaCy. Это чтобы не раскрывать реальные адреса пиров.
      • 0
        Теперь новая проблема: как заставить Google Chrome гонять http-запросы через proxy, а https — напрямую в инет?
        • 0
          плагином
        • +1
          Через PAC-файл?
          • 0
            PAC Файл хрому можно скормить тоже только через EXTENSION API.
            • 0
              Он разве не использует настройки IE?
              Скрытый текст
              • 0
                Использует, но если настроить в IE, то он будет действовать для всей системы а не только для браузера.
                • 0
                  PAC — это JavaScript, в него можно прописать и анализ юзер-агента, как я понимаю.
            • +1
              Нет.

              Для Linux:
              chrome/chromium может получить данные о proxy из настроек среды (если используется DE).
              В случае если используется WM настройки можно задать разными способами.

              1. Стандартные переменные окружения для proxy (http_proxy и прочие)
              2. CHROMIUM_USER_FLAGS и флаги
              3. Через флаги
              Заголовок
              --proxy-server=host:port
              Specify the HTTP/SOCKS4/SOCKS5 proxy server to use for requests. This overrides any environment variables or settings picked via the options dialog. An individual proxy server
              is specified using the format:

              [<proxy-scheme>://]<proxy-host>[:<proxy-port>]

              Where <proxy-scheme> is the protocol of the proxy server, and is one of:

              «http», «socks», «socks4», «socks5».

              If the <proxy-scheme> is omitted, it defaults to «http». Also note that «socks» is equivalent to «socks5».

              Examples:

              --proxy-server=«foopy:99»
              Use the HTTP proxy «foopy:99» to load all URLs.

              --proxy-server=«socks://foobar:1080»
              Use the SOCKS v5 proxy «foobar:1080» to load all URLs.

              --proxy-server=«socks4://foobar:1080»
              Use the SOCKS v4 proxy «foobar:1080» to load all URLs.

              --proxy-server=«socks5://foobar:66»
              Use the SOCKS v5 proxy «foobar:66» to load all URLs.

              It is also possible to specify a separate proxy server for different URL types, by prefixing the proxy server specifier with a URL specifier:

              Example:

              --proxy-server=«https=proxy1:80;http=socks4://baz:1080»
              Load https://* URLs using the HTTP proxy «proxy1:80». And load http://*
              URLs using the SOCKS v4 proxy «baz:1080».

              --no-proxy-server
              Disables the proxy server. Overrides any environment variables or settings picked via the options dialog.

              --proxy-auto-detect
              Autodetect proxy configuration. Overrides any environment variables or settings picked via the options dialog.

              --proxy-pac-url=URL
              Specify proxy autoconfiguration URL. Overrides any environment variables or settings picked via the options dialog.

              Например для использования PAC файла:
              --proxy-pac-url=http://localhost/proxy.pac

              4. Вроде был ещё способ через политики

              Посмотреть текущие настройки можно тут: chrome://net-internals/#proxy

              Для Win/Mac должно быть примерно так же.
              • –1
                Опять же, самый верный способ — API хрома.
  • 0
    Свой уютный поиск по stackoverflow и докам к postgresql.
    Навальный, не нужен дорогой.
    • 0
      Как один из вариантов :) вы можете проиндексировать эти сайты для всех, думаю будет полезно
    • 0
      Попробуйте ещё devdocs.io. О нём недавно была статья на хабре. Для документации получше будет.
      • 0
        Попробовал, но честно говоря, не понял чем лучше.
  • +1
    А как выпилить картинки из индекса и ограничить общий объем на диске доступный под индекс?
    • 0
      Данный вопрос мне тоже интересен. Не хотелось бы, что бы внезапно система рухнула из-за закончившегося места. Вообще, я так чувствую, разбираться с этой штукой придётся долго, да и нужно ли оно сейчас, кроме как в качестве механизма поиска по собственным сайтам, это ещё большой вопрос.
      • 0
        Я уже писал, что я по аналогии с cjdns постараюсь найти/перевести мануалы/спецификации
  • 0
    Занимательно, а могу я его на Windows без последствий поставить не в профиль юзеру а в папку Program Files? По умолчанию папка С:\Users\X\YaCy
    • +1
      p.s: да, с документацией полнопопие, как рядовой пользователь сможет это использовать — не представляю :(
    • 0
      Понятно, даже не смотря на выключенный на сервере UAC авто обновление не работает. Печально. Хотя я наверно зря обо всём этом тут пишу.
      • 0
        Авто обновление чего? Оно долго происходит.
        Проект как не странно активно развивается каждый день есть новые коммиты.

        Но я надеюсь, что в конечном итоге это будет не java
        • 0
          Авто обновление установленного софта :) При установке в PF, вне зависимости от состояния UAC обновляться само оно не не будет.
        • 0
          Эх, нет, не задалась у меня дружба с этой штукой, оно ставит зависимостями старую 64х битную версию Java, в итоге консоль управления Java перекрывается 64х битной версией (это критично, ибо даже настройки исключений для сайтов не настроить), а без этой 64х битной дурости YaCy просто не работает. В общем подождёмс пока научится работать с тем, что есть, I2P до такого уже доросли. А пока под снос, к сожалению. Пихать одно единственное приложение в виртуалку желания нет.
          • 0
            Брр, всё таки не понимаю, что происходит, попытался удалить явно остановленное приложение — инсталлятор ругнул, что оно работает, при этом службу я точно останавливал. Убил вручную процесс жабы, стала нормально запускаться служба. Видимо все проблемы из-за жабы, вспомнил, что с I2P тоже косячки подобные происходили, но как то сами поправились. В общем бррр — жаба редкостное, непредсказуемое зло.
  • 0
    Можно, вероятно это дурацкий вопрос, но всё же. Вот я добавляю сейчас индексы в коллекцию user (по умолчанию стояло), они хоть публично доступны, будут ли эти индексы расползаться автоматически? :)
    • 0
      В статусе на главном экране можете посмотреть, он будет переодически писать что и куда он отправляет от вас. Расползется намного быстрее при белом IP и открытом порту
      • 0
        Благодарю, этот момент я уже понял, просто было интересно конкретное соотношение «уникальный индекс/не уникальный индекс». В общем разбираться мне с этим ещё долго.

        p.s: IP белый, порт открыт, куда уж без этого.
  • 0
    Клево, что можно индексировать странички, по которым ходишь. А то часто «где-то видел, а где не помню».
    • 0
      О! А как это настраивается? А то вот толь-ко-только убедился в том, что «эта хреновина» работает в OS/2 прямо искаропки и ещё не смотрел в документацию.
      • 0
        Минус «этой хреновины» в том, что у нее очень неприятный и неинтуитивный интерфей. Yacy не похож на программу, которой может пользоваться моя мама. И я так и не нашел, где это настраивается. Просто лень изучать какую-то программу только для того чтобы заменить гугл.
        • 0
          Я думаю её следует рассматривать как прототип, она же на Java еще написана
          • 0
            Чем Вам Java не энтерпрайз…
            • 0
              Вы уверены что надо описывать все минусы Java?
              • 0
                Нет, не стоит. Но и ваш наброс в данном топике был лишним.
  • 0
    Занимательно конечно индексатор у YaCy работает. Накидал мну ему заданий, он поработал несколько часов, а потом стал автоматически вставать на паузу, хотя этого делать его никто не просил :( Сколько бы раз я не пытался его с паузы снять, он всё равно встаёт обратно. Вряд ли это корректное поведение, не подскажите где что подкрутить, что бы убрать данное поведение, ибо у меня идей нет.
    • +2
      Всё, с этим кажись разобрался оказывается лимита памяти в 2000 МБ (максимального для 32х битной жабы) ему не хватало, пришлось удалить из системы всю жабу, и на чистую установить только 64х битную версию, после этого переустановил сервис YaCy (I2P пришлось устанавливать заново, без этого сервис упорно не стартовал). После переустановки жабы и сервиса установил в настройках YacY максимальный объём памяти в 10000 МБ и в тоге сервис отожрав ~8 ГБ наконец то начал индексировать всё то, что я ему скормил :)

      p.s: пишу сюда из соображений того, что такие проблемы могут ещё у кого то быть, и лучше опишу особенности использования тут.
      • 0
        Всё, кончились мои эксперименты. YacY просто перестал стартовать нормально, и теперь он просто вешается на старте (проработав 20-30 секунд, и отожрав примерно гиг оперативы). В логах при этом ничего криминального, т.е. нормальная работа а потом тишина. К сожалению более желания возиться с приложением нет.

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