Najlepsze pytania
Chronologia
Czat
Perspektywa
Apache Nutch
Z Wikipedii, wolnej encyklopedii
Remove ads
Apache Nutch – otwartoźródłowy, rozszerzalny i skalowalny robot internetowy (program komputerowy do przeszukiwania i analizy stron internetowych) rozwijany pod opieką Fundacji Apache[2].
Remove ads
Opis i cechy
Cechy systemu Nutch (wg opracowania Yadav i Goyala[3]):
- Duża ilość funkcji i możliwość elastycznego konfigurowania działania systemu[4][5],
- Możliwość rozszerzania funkcji systemu (z użyciem systemu wtyczek)[4][6],
- Łatwa integracja z innymi elementami ekosystemu Apache, takimi jak Tika i Solr czy z platformą Hadoop,
- Duża skalowalność i odporność na uszkodzenia,
- Możliwość przechowywania danych w rozproszonej bazie danych typu klucz-wartość, np. HBase (od wersji 2.0),
- Uwzględnianie zasad mechanizmu Robot Exclusion Protocol (zapisanych na stronach webowych w plikach
robots.txt
)[2], - Dobre wsparcie społeczności open source.
Remove ads
Budowa
Nutch jest napisany całkowicie w języku Java[3], lecz jego dane zapisywane są w formatach niezależnych od języka programowania. Budowa systemu jest modularna, co pozwala na modyfikację działania i połączenie w innymi narzędziami i bibliotekami. W ramach projektu Nutch stworzono interfejsy API, które pozwalają m.in. na tworzenie wtyczek (ang. plugins) do systemu. Jednym z dostępnych interfejsów API jest API REST-owe, które umożliwia interaktywną kontrolę działania systemu, bez konieczności używania interfejsu graficznego czy komend[7].
W wielu swoich zadaniach pomocniczych, Nutch bazuje na istniejącym oprogramowaniu[6]:
- Hadoop: skalowalność, wykonywanie zadań, serializacja danych (w linii 1.x)
- Tika: rozpoznawanie formatów plików
- Solr, Elasticsearch: wyszukiwanie w zapisanych danych
- Gora, HBase, Cassandra: gromadzenie danych (w linii 2.x)
- crawler-commons[8]: obsługa plików
robots.txt
Remove ads
Historia projektu
Projekt Nutch został zapoczątkowany w roku 2002 w ramach współpracy Douga Cuttinga (twórcy m.in. platformy Lucene) oraz Mike'a Cafarelli. Na przełomie 2004 i 2005 roku w projekcie Nutch wdrożono funkcję MapReduce oraz wprowadzono rozproszony system plików (który później został wyodrębniony wraz z innymi elementami jako odrębny projekt Hadoop), co pozwoliło na przetwarzanie i indeksowanie danych na wielu urządzeniach. W styczniu 2005 r. Nutch dołączył projektów Apache Software Foundation (ASF) – początkowo objęty procedurą tzw. inkubacji, by zostać podprojektem Lucene w czerwcu tego samego roku[6]. W 2010 r. Nutch został niezależnym projektem ASF na najwyższym poziomie[9].
W lutym 2014 r. projekt Common Crawl[10] przyjął Nutcha jako swoje otwarte narzędzie do indeksowania sieci na dużą skalę[11].
Przypisy
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads