2016-06-08 15 views
0

Ich habe versucht, RSS-Seiten auf Solr mit "Feed" als Parser (und nicht Tika. In Theorie für jedes RSS-Element, ein Dokument sollte in Solr erstellt werden. And es wird erstellt aber nur vorübergehend. in der Tat, wenn die Indizierung erfolgreich abgeschlossen, löscht der Reinigungsauftrag all RSS-Elemente.Apache Nutch indexiert RSS Feed nicht richtig

Meine Vermutung, dass ist die uRL des Artikels RSS nicht findet in der crawlDB, und deshalb Löscht sie während des Cleanjobs von Solr. Kann es richtig sein?

EDIT: Ich habe festgestellt, dass alle Einträge die gleiche "Signatur" haben, weil der Fetcher so entschieden hat . Daher markieren die Deduplizierung sie als Duplikate und die Reiniger reinigen sie.

Ich versuche, dies zu ändern, aber ich verstehe nicht, warum es so konfiguriert wurde.

Antwort

1

Das Feed-Plugin in Nutch generiert mehrere Dokumente aus der Feed-Datei, ohne die dort aufgeführten URLs abzurufen. Meine Vermutung ist, dass es allen Unterdokumenten die gleiche Signatur wie die Feed-Seite zuweist, die, wie Sie darauf hingewiesen haben, zur Folge hat, dass sie dedupliziert werden.

Dies sollte nicht passieren und ist eindeutig ein Fehler. Könnten Sie bitte ein JIRA-Problem dafür öffnen?

Sie können den Deduplizierungsschritt aus dem Crawlskript entfernen, damit Ihre Dokumente im Index beibehalten werden.

Alternativ können Sie eine modifizierte Version des Plugins schreiben, die einfach die Outlinks aus dem Feed extrahiert und Nutch die Filialdokumente wie gewohnt holen lässt. Auf diese Weise erhält jedes Dokument seine eigene Signatur und die Deduplizierung wird Sinn ergeben.

Ein anderer Grund, warum Sie bevorzugen, ist, dass der Feed-Eintrag möglicherweise nicht den gesamten Text/Metadaten des Filialdokuments enthält.

Lustigerweise habe ich gerade eine Ressource für die Analyse von Feeds in StormCrawler hinzugefügt, im Gegensatz zu der in Nutch erkennt es einfach Outlinks und holt sie später.

+0

Danke, ich werde eine Jira-Ausgabe öffnen und StormCrawler auch überprüfen – rodi

+0

Keine Probleme. Fühlen Sie sich frei, meine Antwort als nützlich und/oder Ihr Problem gelöst zu markieren –