YaCy und Freifunk - Vorstellung des Yacy-Such Peer & Fragen

Keine Scheu, hier darf alles gefragt und diskutiert werden. Das ist das Forum für YaCy-Anfänger. Hier kann man 'wo muss man klicken' fragen und sich über Grundlagen zur Suchmaschinentechnik unterhalten.
Forumsregeln
Hier werden Fragen beantwortet und wir versuchen die Probleme von YaCy-Newbies zu klären. Bitte beantwortete Fragen im YaCy-Wiki http://wiki.yacy.de dokumentieren!

YaCy und Freifunk - Vorstellung des Yacy-Such Peer & Fragen

Beitragvon fusion » Mi Mär 11, 2015 11:15 pm

Hallo,

ich betreibe im Paderborner Freifunk Netzwerk ein YaCy-Such Peer. Wer sich im Paderborner Freifunk Netzwerk befindet, kann sich die Seite unter https://suche.ffpb anschauen.

YaCy läuft hier auf einem Raspberry Pi und indiziert derzeit nur die Seiten aus dem Paderborner Freifunk Netz. Die derzeitigen Seiten/Dienste für .ffpb sind unter http://paderborn.freifunk.net/?page_id=75 aufgeführt. Das bedeutet, dass meine YaCy Installation im Robinson Modus läuft und auch nur die Seiten aus .ffpb indizieren soll. Da das Paderborner Freifunk Netz noch nicht an das Intercity-VPN angeschlossen ist, bleibt es erst einmal dabei. Sobald die Anbindung an das Intercity-VPN da ist, sollen auch die Seiten/Dienste aus den anderen Städten mit in den Index aufgenommen werden.

Derzeit sind gut 100 Seiten/Dokumente im Index. Dafür reicht der kleine Raspberry Pi erst einmal aus. Aber so richtig Spaß machte das damit leider am Anfang nicht. Das Backend ist recht träge und auch die Suchseite brauchte für die Suchanfragen recht lange, da hier das Autocomplete den Raspberry noch weiter belastet. Ich habe das Autocomplete zunächst entfernt, doch das hat nicht die gewünschte Besserung gebracht. Daher habe ich ein Suchfrontend in Python programmiert, welches sich die Ergebnisse aus Apache Solr holt und aufbereitet. Damit läuft es für diesen Anwendungsfall seit Monaten recht zufriedenstellend. Von einer YaCy Installation sieht man in diesem Frontend nichts mehr. Einen Screenshot gibt es im Anhang.

Da auf dem Raspberry Pi auch ein Jabber Server läuft gibt es zusätzlich einen Jabber Bot, der auf Suchanfragen antwortet. Screenshot siehe https://twitter.com/freifunksuche/statu ... 53/photo/1

Soweit die Vorstellung des Projektes. Zwei Fragen habe ich:

1) Netzwerkdefinition

Ich möchte den Such Peer nicht alleine betreiben, sondern lieber wie das Freeworld Netwerk ein dezentrales Suchportal aufbauen. D.h. andere sollen auch eine YaCy Installation betreiben, die Seiten aus den jeweiligen Freifunknetzwerken indizieren.

Soweit ich das sehe benötige ich hierzu eine eigene Netzwerkdefinition. Dabei habe ich mich an der Datei für das Freeworld Netzwerk orientiert. Für diese Konfiguration benötige ich eure Hilfe. Meine yacy.network.freifunk.unit Datei sieht derzeit so aus:

Code: Alles auswählen
# Network definition file for the freeworld network
# this is the default standard network for fresh YaCy Peers

# -----------------------------------------------------------------#
# for an explanation please see the file yacy.network.readme       #
# this is a work in progress. disabled properties are not yet used #
# -----------------------------------------------------------------#

# define the name of the nework
# this nickname is also used to identifiy network requests
network.unit.name = freifunk

# the visible name of the network
network.unit.description = Public Freifunk Community

# definition of the content domain: possible values are:
# global, local, any
network.unit.domain = any

# maximum search time for remote queries (milliseconds)
network.unit.remotesearch.maxtime = 3000

# maximum number of results per remote query
network.unit.remotesearch.maxcount = 10

# flag to switch on dht transmission
# if the dht transmission is set to 'false' then for a global
# query all targets are accessed
network.unit.dht = true

# the number of redundant target peers:
# redundant peers get a copy of the original dht target information
network.unit.dhtredundancy.junior = 1
network.unit.dhtredundancy.senior = 3

# the vertical partition of the dht: this applies a division
# of the dht into 2^^<partitionExponent> fragments which get
# all the same word-partition targets but a document-dht computed
# fragment of all documents
network.unit.dht.partitionExponent = 4

# network request burst attributes: this enables non-dht target
# positions for certain situations. This is not a 'traditional' burst-mode
# since it does not refer to a handshake to a single client but it refers
# to not-handshaking in a distributed way. It means to get data without using
# a dht transmission logic.

# switch to enable verification of search results
# must be set to true in untrusted networks and can be
# set to false in completely trusted networks
network.unit.inspection.searchverify = true

# speed of remote crawl de-queueing. this is the number of milliseconds
# as a pause between two requests
network.unit.remotecrawl.speed = 300

# addresses of seed-list bootstrap locations
network.unit.bootstrap.seedlist0 = http://suche.ffpb/yacy/seedlist.html


# each network may use different yacy distributions.
# the auto-updater can access network-specific update locations
network.unit.update.location0 = http://yacy.net/en/index.html
network.unit.update.location0.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk=
network.unit.update.location1 = http://kaskelix.de/update/
network.unit.update.location1.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk=
network.unit.update.location2 = http://latest.yacy.de/
network.unit.update.location2.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk=

# properties for in-protocol response authentication:
network.unit.protocol.control = uncontrolled

# white/blacklists
network.unit.access.whitelist = 10\..*,127\..*,172\.(1[6-9]|2[0-9]|3[0-1])\..*,169\.254\..*,192\.168\..*,localhost
network.unit.access.blacklist =

# greedy learning: fast information acquisition heuristic for new peers
greedylearning.enabled = true
greedylearning.limit.doccount = 1000


Zusätzlich muss noch in yacy.init der Eintrag "network.unit.definition = defaults/yacy.network.freifunk.unit" geändert werden (statt freeworld). In der Datei "yacy.networks" muss noch am Ende "defaults/yacy.network.freifunk.unit" hinzugefügt werden.

Für die "update.location" habe ich erst einmal die bestehenden Einträge belassen. Hier möchte ich langfristig lieber zusätzlich eine oder mehrere Quellen aus einem Freifunknetz angeben, z.B. "network.unit.update.location4 = https://suche.ffpb/yacy/updates/" (ist noch nicht eingerichtet).

Habe ich etwas vergessen um so ein Suchnetzwerk aufzubauen? In der seeddatei (localhost:8090/yacy/seedlist.json) wird bisher immer eine andere IP Adresse angezeigt, als die meines Peers im Freifunknetz. Da muss ich noch schauen, warum das so ist. Solange das noch falsch ist, ergibt diese neue Netzwerkdefinition keinen Sinn.

2) Whitelist für TLD .ffpb, .ffhh etc.

Bisher habe ich den Crawler immer auf einer Seite starten lassen und diesen Crawl auf die Domain beschränkt. Das reicht bisher noch aus, da die Anzahl der Dienste im Paderborner Freifunknetzwerk noch überschaubar ist. Allerdings sollen langfristig (vor allem nach einer erfolgreichen Anbindung an das Intercity-VPN) alle Seite aus .ffpb, .ffhh u.s.w. aufgenommen werden. Das kann ich dann nicht mehr von Hand machen. Hierfür wünsche ich mir eine Whitelist, welche auf diese TLD (.ffpb, .ffhh) beschränkt ist. Soweit ich das sehe, gibt es diese Möglichkeit nicht bei YaCy. Oder fällt euch etwas ein, was ich da machen könnte?

Was toll wäre, wenn in einer der nächsten YaCy Releases eine Netzwerkdefinition für das Freifunknetzwerk automatisch mit dabei ist, damit die Einstiegshürde für neue Teilnehmer möglichst gering ist. Ebenso, wäre die genannte Whitelist für TLD wichtig, damit keine Seiten aus dem www mit in den Index aufgenommen werden.

Antworten, Fragen und Anregungen sind willkommen!

Viele Grüße
fusion
Dateianhänge
yacy-freifunk-suchseite.png
yacy-freifunk-suchseite.png (69.47 KiB) 949-mal betrachtet
fusion
 
Beiträge: 3
Registriert: So Aug 17, 2014 7:20 pm

Zurück zu Hilfe für Einsteiger und Anwender

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste