2017-09-26 2 views
0

Ich habe Hadoop (2.x), Hbase und Nutch 2.3.1 erfolgreich konfiguriert. Ich habe auch einige Beispielseiten zum Testen gecrawlt. Jetzt muss ich das crawlen für bestimmte Sprache mit opensource Werkzeug cld2 fokussieren. Wenn das durchforstete Dokument diese spezifische Sprache nicht enthält, sollte dieses Dokument nicht (in Hbase) gespeichert und auch nicht an Solr indiziert werden. In Nutch WIKI ist zum Zeitpunkt des Abrufens kein Erweiterungspunkt angegeben. Gibt es eine andere Möglichkeit, die Arbeit zu erledigen?Apache Nutch 2.3.1 Erweiterungspunkt zum Abrufzeitpunkt

Antwort

0

Im Moment gibt es keinen Erweiterungspunkt in der Fetchers-Implementierung, die mit Nutch geliefert wird. Wenn Sie darüber nachdenken, müssen Sie das Dokument abrufen und analysieren (um die Sprache zu extrahieren) und dann können Sie Ihre eigene IndexingFilter schreiben, um die Sprache des Dokuments zu überprüfen und entscheiden, ob Sie es indizieren wollen oder nicht.

Dies sollte nicht sehr schwierig sein, selbst zu schreiben. Auf der anderen Seite für Nutch 1.x haben wir bereits diese PR https://github.com/apache/nutch/pull/219, die leicht portiert werden kann, um auf 2.x zu arbeiten, und dann brauchen Sie nur den richtigen JEXL-Ausdruck.

Wir haben bereits ein language-identifier Plugin, das mit Nutch 2.x geliefert wird. Sie könnten wahrscheinlich einen Blick darauf werfen, wie implementiert und fügen Sie Ihre eigene Integration mit Cld2 als ein anderes Plugin wahrscheinlich. Wenn Sie cld2 verwenden möchten, müssen Sie einen Parser (zusammen mit dem Indexer) schreiben, um die Sprache aus dem Inhalt zu erkennen.

+0

Danke Bruder. Ich habe Sprachfilter zur Indexzeit implementiert. Mein Problem ist, dass ich das Dokument, das keine Urdu-Sprache enthält, aus der Hbase-Tabelle entfernen muss (wo Rohut-Inhalt des Dokuments zum Zeitpunkt des Abrufs von Nutch gespeichert wird), nicht von Solr (wo indiziert) – Shafiq