Yacy Crawler für smb shares

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 Crawler für smb shares

Beitragvon grassu » Fr Aug 29, 2014 12:29 pm

Hallo,

ich versuche Yacy als Intranetsuchmaschine einzurichten (zweiter Anlauf nachdem ich bereits vor 1-2 Jahren an der gleichen Stelle gescheitert bin). Durchsuchbar gemacht werden sollen die per Samba freigegebenen Daten eines Linuxservers. Ich kann die entsprechenden Crawler zwar einrichten, es findet aber keine Indizierung statt.

Mein Setup:
- yacy 1.72 mit java 1.6 auf dem Samba Server installiert
- yacy wird unter einem Benutzeraccount gestartet der auch auf die SMB Shares zugreifen darf
- yacy läuft im Robinson Modus
- als Start-Url für die SMB Crawler habe ich folgende Adresse eingegeben: smb://roberta/scan bzw. smb://roberta/scan/ eingegeben. Der Crawler wird angenommen aber danach passiert gar nichts.

Mache ich was falsch? Gibt es jemanden mit einem funktionierenden smb-Crawler?

Im Log finden sich folgende Einträge:
egrep smb://roberta/scan/ *.log
Code: Alles auswählen
yacy00.log:I 2014/08/29 13:19:16 LOADER No parser available in SMB crawler: 'no parser found' for URL smb://roberta/scan/: parsing only metadata
yacy00.log:I 2014/08/29 13:19:16 HTCACHE storing content of url smb://roberta/scan/, 16 bytes
yacy00.log:I 2014/08/29 13:19:18 Crawl Start reloadIfOlderNumber=3&deleteold=on&crawlingDomMaxPages=10000&intention=&obeyHtmlRobotsNoindex=on&range=domain&indexMedia=on&followFrames=on&recrawl=reload&storeHTCache=on&sitemapURL=&collection=user&cachePolicy=iffresh&indexText=on&crawlingMode=url&crawlingURL=smb://roberta/scan/&bookmarkTitle=&mustnotmatch=&crawlingDomFilterDepth=-UNRESOLVED_PATTERN-&reloadIfOlderUnit=day&crawlingDomFilterCheck=off&crawlingstart=Starte%20neuen%20Crawl&directDocByURL=off&crawlingDepth=99
yacy00.log:I 2014/08/29 13:19:18 APICALL /Crawler_p.html?reloadIfOlderNumber=3&deleteold=on&crawlingDomMaxPages=10000&intention=&obeyHtmlRobotsNoindex=on&range=domain&indexMedia=on&followFrames=on&recrawl=reload&storeHTCache=on&sitemapURL=&collection=user&cachePolicy=iffresh&indexText=on&crawlingMode=url&crawlingURL=smb://roberta/scan/&bookmarkTitle=&mustnotmatch=&crawlingDomFilterDepth=-UNRESOLVED_PATTERN-&reloadIfOlderUnit=day&crawlingDomFilterCheck=off&crawlingstart=Starte%20neuen%20Crawl&directDocByURL=off&crawlingDepth=99
yacy00.log:I 2014/08/29 13:19:18 LOADER No parser available in SMB crawler: 'no parser found' for URL smb://roberta/scan/: parsing only metadata
yacy00.log:I 2014/08/29 13:19:18 HTCACHE storing content of url smb://roberta/scan/, 16 bytes
yacy00.log:I 2014/08/29 13:19:18 LOADER No parser available in SMB crawler: 'no parser found' for URL smb://roberta/scan/: parsing only metadata
yacy00.log:I 2014/08/29 13:19:18 HTCACHE storing content of url smb://roberta/scan/, 16 bytes
yacy00.log:I 2014/08/29 13:19:20 LOADER No parser available in SMB crawler: 'no parser found' for URL smb://roberta/scan/: parsing only metadata
yacy00.log:D 2014/08/29 13:19:20 SWITCHBOARD processResourceStack processCase=LOCAL_CRAWLING, depth=0, maxDepth=99, must-match=smb://(www.)?\Qroberta\E.*, must-not-match=, initiatorHash=vXzyaJjbS2YC, url=smb://roberta/scan/
yacy00.log:I 2014/08/29 13:19:20 SWITCHBOARD CRAWL: ADDED 0 LINKS FROM smb://roberta/scan/, STACKING TIME = 0, PARSING TIME = 10
yacy00.log:I 2014/08/29 13:19:20 SWITCHBOARD Excluded 0 words in URL smb://roberta/scan/
yacy00.log:I 2014/08/29 13:19:20 Fulltext indexing: XUvvBLPHTB88 smb://roberta/scan/
yacy00.log:I 2014/08/29 13:19:20 SWITCHBOARD *Indexed 3 words in URL smb://roberta/scan/ [XUvvBLPHTB88]


Wenn ich einen File-Crawler anlege erscheint übrigens folgende Fehlermeldung:
Code: Alles auswählen
javax.servlet.ServletException: /home/shares/transfer/yacy/DATA/LOCALE/htroot/de/Crawler_p.html
   at net.yacy.http.servlets.YaCyDefaultServlet.handleTemplate(YaCyDefaultServlet.java:800)
   at net.yacy.http.servlets.YaCyDefaultServlet.doGet(YaCyDefaultServlet.java:303)
   at net.yacy.http.servlets.YaCyDefaultServlet.doPost(YaCyDefaultServlet.java:365)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
   at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
   at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
   at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
   at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:522)
   at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
   at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
   at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
   at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
   at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
   at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
   at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
   at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
   at net.yacy.http.CrashProtectionHandler.handle(CrashProtectionHandler.java:33)
   at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
   at org.eclipse.jetty.server.Server.handle(Server.java:370)
   at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
   at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
   at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
   at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
   at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
   at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
   at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667)
   at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
   at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
   at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
   at java.lang.Thread.run(Thread.java:662)


Danke für Hinweise,
grassu
grassu
 
Beiträge: 6
Registriert: Mi Jan 18, 2012 12:40 pm

Re: Yacy Crawler für smb shares

Beitragvon Orbiter » Fr Aug 29, 2014 1:03 pm

Hallo,
ja das geht. Ein paar Details lassen das wahrscheinlich bei dir scheitern:

- du musst das ganz aktuelle Developerrelease nehmen, weil vor ein paar Wochen was kaputt war (sorry)
- robinson-Modus ist nicht nötig, weil du das im P2P-Modus sowieso nicht machen kannst, dort sind nur Internetadressen zugelassen, nicht aber Intranetadressen (und da ist dein eigener Server wahrscheinlich). Stelle in der BasicConfig also auf Intranet.
- wenn Dein smb share ein Passwort braucht, dann geht das Crawlen zur Zeit nur über die Laufwerksfreigabe als file-Crawl. Also Das Laufwerk z.B. auf z: mounten und dann starten mit der Adresse "file://z:". Wenn du aber ein ganz offenes smb share hast, dann geht das Crawlen so wie du unten versucht hast.

Das mit dem Laufwerk habe ich diese Woche noch ausprobiert, geht garantiert!
Orbiter
 
Beiträge: 5786
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Yacy Crawler für smb shares

Beitragvon grassu » Fr Aug 29, 2014 2:53 pm

Ah vielen Dank. So funktioniert es. Natürlich sind die SMB Shares Passwortgeschüzt aber mit dem File basierten Crawler geht es.
Ist es geplant auch passwortgeschützte SMB Shares zu unterstützen?

Gruß,
grassu
grassu
 
Beiträge: 6
Registriert: Mi Jan 18, 2012 12:40 pm

Re: Yacy Crawler für smb shares

Beitragvon Orbiter » Fr Aug 29, 2014 3:22 pm

man kann smb-shares mit Passwort ganz einfach mit einer URL der Form
smb://<user>:<password>@<address>/<path>
aufrufen und auch so indexieren in YaCy. Das ist aber keine Lösung, weil dann die Accountdaten in der URL stehen.

Um so etwas 'richtig' zu machen bräuchte YaCy eine andere Form der Authentifizieren, ggf. mit Kontakt in eine ActiveDirectory Server. So etwas haben wir aber nicht und Know-How dazu ist nirgends vorhanden, was wohl daran liegt dass viele Java Hacker die Windows-Welt meiden.

So weit ich weiss gibt es so etwas auch nirgendswo, ausser in Sharepoint Bild

Falls du einen ActiveDirectory Entwickler kennst der mitmachen will: https://twitter.com/yacy_search/status/ ... 0219815936
Orbiter
 
Beiträge: 5786
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Yacy Crawler für smb shares

Beitragvon grassu » Fr Aug 29, 2014 4:47 pm

man kann smb-shares mit Passwort ganz einfach mit einer URL der Form
smb://<user>:<password>@<address>/<path>
aufrufen und auch so indexieren in YaCy. Das ist aber keine Lösung, weil dann die Accountdaten in der URL stehen.

Das würde für meine Zwecke zunächst ausreichen. Leider funktioniert das aber nicht. Wenn ich einen entsprechenden SMB-Crawler mit user:pass eingebe erscheint im yacy-logfile folgende Fehlermeldung:
REJECTED smb://yacy:yacy@roberta/scan/ - url does not match must-match filter smb://(www.)?\Qroberta\E.*


Any idea?
grassu
 
Beiträge: 6
Registriert: Mi Jan 18, 2012 12:40 pm

Re: url does not match must-match filter

Beitragvon flegno » So Aug 31, 2014 6:37 am

grassu hat geschrieben:Wenn ich einen entsprechenden SMB-Crawler mit user:pass eingebe erscheint im yacy-logfile folgende Fehlermeldung:
REJECTED smb://yacy:yacy@roberta/scan/ - url does not match must-match filter smb://(www.)?\Qroberta\E.*

Any idea?

Die Webseite http://blog.sprechrun.de/?page_id=358 ist eine ganz normale Seite, die mit keinem Passwort geschützt ist und mich Interessiert genauso wie grassu warum die page_id=358 wie in diesem Beispiel
Code: Alles auswählen
I 2014/08/31 05:53:19 REJECTED http://blog.sprechrun.de/?page_id=358 - url does not match must-match filter https?+://(www.)?\Qhier-subdomain.sprechrun.de\E.*
verworfen und nicht indexiert wird - hier eine Beispiel-Abfrage für die page_id=358


Update 31.08.2014: Habe einen Bug-Report #450 erstellt http://mantis.tokeek.de/view.php?id=450.
flegno
 
Beiträge: 232
Registriert: So Aug 17, 2014 4:23 pm


Zurück zu Hilfe für Einsteiger und Anwender

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron