Apache Nutch – otwartoźródłowy, rozszerzalny i skalowalny robot internetowy (program komputerowy do przeszukiwania i analizy stron internetowych) rozwijany pod opieką Fundacji Apache.
Opis i cechy Cechy systemu Nutch (wg opracowania Yadav i Goyala):
Duża ilość funkcji i możliwość elastycznego konfigurowania działania systemuL. A. Lopez, R. Duerr and S. J. S. Khalsa, "Optimizing apache nutch for domain specific crawling at large scale," 2015 IEEE International Conference on Big Data (Big Data), Santa Clara, CA, 2015, pp. 1967-1971., Możliwość rozszerzania funkcji systemu (z użyciem systemu wtyczek), Ł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. (od wersji 2.0), Uwzględnianie zasad mechanizmu Robot Exclusion Protocol (zapisanych na stronach webowych w plikach robots.txt), Dobre wsparcie społeczności open source.
Budowa Nutch jest napisany całkowicie w języku Java, 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 () 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.
W wielu swoich zadaniach pomocniczych, Nutch bazuje na istniejącym oprogramowaniu:
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: obsługa plików robots.txt
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. W 2010 r. Nutch został niezależnym projektem ASF na najwyższym poziomie.
W lutym 2014 r. projekt przyjął Nutcha jako swoje otwarte narzędzie do indeksowania sieci na dużą skalę.
Przypisy
Kategoria:Wyszukiwarki internetowe Kategoria:Otwarte oprogramowanie