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.
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: –
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. –
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. –