![]() | |
Autor | Apache Software Foundation |
---|---|
Pierwsze wydanie | 2002 |
Aktualna wersja stabilna | v1.16 (w linii „1.x”), v2.4 (w linii „2.x”) (19 października 2019; ponad 5 lat temu)[1] |
Język programowania | Java |
System operacyjny | Wieloplatformowy |
Rodzaj | biblioteka programistyczna (przeszukiwanie stron internetowych) |
Licencja | Apache License |
Strona internetowa |
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].
Cechy systemu Nutch (wg opracowania Yadav i Goyala[3]):
robots.txt
)[2],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]:
robots.txt
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].