2017-06-11 3 views
1

Ich versuche ein Such-Tool auf einem CentOS 7-Rechner zu erstellen, der die Verzeichnisse des eingehängten NFS-Exports indexieren und durchsuchen soll. Ich fand, dass Nutch + Solr die beste Wahl ist. Ich hatte eine harte Zeit, die URL dafür zu konfigurieren, da dies keine HTTP-Standorte suchen wird.Wie indexiert man ein NFS-Mount mit Nutch?

Die Halterung auf/mnt befindet

So sieht mein seeds.txt wie folgt aus:

[[email protected] bin]# cat /root/Desktop/apache-nutch-1.13/urls/seed.txt 
file:///mnt 

und meine regex-urlfilter.txt die gleiche Stelle hat und ermöglicht Dateiprotokoll

# skip file: ftp: and mailto: urls 
-^(http|https|ftp|mailto): 

# skip image and other suffixes we can't yet parse 
# for a more extensive coverage use the urlfilter-suffix plugin 
#-\.(gif|GIF|jpg|JPG|png|PNG|ico|ICO|css|CSS|sit|SIT|eps|EPS|wmf|WMF|zip|ZIP|ppt|PPT|mpg|MPG|xls|XLS|gz|GZ|rpm|RPM|tgz|TGZ|mov|MOV|exe|EXE|jpeg|JPEG|bmp|BMP|js|JS)$ 

# skip URLs containing certain characters as probable queries, etc. 
-[?*[email protected]=] 

# skip URLs with slash-delimited segment that repeats 3+ times, to break loops 
-.*(/[^/]+)/[^/]+\1/[^/]+\1/ 

# accept anything else 
+^file:///mnt 

Allerdings, wenn ich versuche, aus der ursprünglichen Seed-Liste zu starten, gibt es keine Updates:

[[email protected] apache-nutch-1.13]# bin/nutch inject crawl/crawldb urls 
Injector: starting at 2017-06-12 00:07:49 
Injector: crawlDb: crawl/crawldb 
Injector: urlDir: urls 
Injector: Converting injected urls to crawl db entries. 
Injector: overwrite: false 
Injector: update: false 
Injector: Total urls rejected by filters: 1 
Injector: Total urls injected after normalization and filtering: 0 
Injector: Total urls injected but already in CrawlDb: 0 
Injector: Total new urls injected: 0 
Injector: finished at 2017-06-12 00:10:27, elapsed: 00:02:38 

ich auch die seeds.txt der folgenden ohne Glück zu ändern versucht haben:

file:/mnt 
file:////<IP>:<export_path> 

Bitte lassen Sie mich wissen, wenn ich etwas falsch hier tue.

Antwort

0

Von der URI Sicht ein Dateisystem nicht wirklich, dass für Nutch anders ist, müssen Sie nur das protocol-file Plugin, aktivieren und die regex-urlfilter.txt wie konfigurieren:

+^file:///mnt/directory/ 
-. 

In diesem Fall können Sie es verhindern, Indizierung der übergeordneten Verzeichnisse des von Ihnen angegebenen Verzeichnisses.

Da die NFS-Freigabe bereits lokal bereitgestellt wurde, funktioniert sie wie ein normales lokales Dateisystem. Weitere Informationen finden Sie in https://wiki.apache.org/nutch/FAQ#How_do_I_index_my_local_file_system.3F.

+0

Ich habe das gleiche Dokument, das Sie angegeben haben, verfolgt. Ich habe Änderungen vorgenommen, wie Sie vorgeschlagen: Meine nutch-site.xml hatte bereits das Protokoll-Datei-Plugin: [root @ sauron apache-nutch-1.13] # cat /root/Desktop/apache-nutch-1.13/conf /nutch-site.xml | grep Wert Mein Nutch Spinne Protokoll-Datei | urlfilter-regex | parse- (html | tika) | Index- (basic | Anker) | Scoring-opic | urlnormalizer- (pass | regex | unverwässert) Und ich habe eine Zeile hinzugefügt, um die Suche nach übergeordneten Verzeichnissen zu verhindern. Immer noch die URL wird abgelehnt: –

+0

Wenn Sie Ihr Protokoll überprüfen, vor allem 'Injector: Total URLs von Filtern abgelehnt: 1' bedeutet dies, dass einige URL-Filter Ihre URL blockieren, können Sie diese Zeile entfernen/kommentieren' -. * (/ [^ /] +)/[^ /] + \ 1/[^ /] + \ 1/ 'und es erneut versuchen? Andernfalls verschieben Sie Ihre Regel an den Anfang der Datei, um zu vermeiden, dass Sie zuerst die Blockregel treffen. –

+0

Versuchen Sie, die URL-Filterregel in '+^file:/mnt/directory /' zu ändern (nur ein Schrägstrich 'file: /'), siehe [NUTCH-1483] (https://issues.apache.org/) jira/stöbern/NUTCH-1483? focusedCommentId = 14176160 & page = com.atlassian.jira.plugin.system.issuetabpanels: Kommentar-Tab-Panel # Kommentar-14176160). Ich werde das Tutorial aktualisieren, um dieses blutige Detail wiederzugeben. –

Verwandte Themen