基本情報
概要
Apache Nutch(アパッチナッチ)とは、オープンソースのWebクローラフレームワークです。Apache Hadoopによる拡張性が特徴です。
基本説明
Apache Nutchは、指定されたWebリンクをたどりながら、ページ収集/スコアリングを行い、全文検索(Lucene)用のインデックスを生成します。
Apache Nutchは、Java製のWebクローラで、全文検索エンジン「Apache Lucene」のサブプロジェクトとして開発されました。全文検索エンジン「Apache Solr」、分散処理フレームワーク「Apache Hadoop」、コンテンツ検出/分析「Apache Tika」、インメモリデータモデル「Apache Gora」などのApacheプロジェクトで構築されています。
大規模Web検索向けに拡張性を持たせたフレームワークです。パーサ機能(Webページ/PDFファイル/その他ドキュメント)、クローラ機能、リンクグラフ/データベース機能などを搭載しています。
経緯
2010年4月、Apacheソフトウェア財団のトップレベルプロジェクトに指定されました。
2系統
「Nutch 1.x」系は、成熟し製品化準備の整ったクローラです。
「Nutch 2.x」系は、「Apache Gora」を用いることでストレージが抽象化され、永続的マッピングでオブジェクト処理できます。
主な特徴
ストレージ
大規模ストレージプラットフォーム(Apache Accumulo/Apache Avro/Apache Cassandra/Apache HBase/Apache HDFS)や、SQLベースストレージシステムに対して、ストレージの抽象レイヤとして追加できます。
Goraによるインメモリデータモデルを用いて、NoSQL/SQLデータベースを抽象化して利用できます。
インデックス
Nutchのインデックスは、Luceneのインデックスであるため、Lucene用インデックス管理GUIツールを使用して内容を確認できます。
プラグイン機能
プラグインでさまざまな機能追加を行えます。
パース/インデックス/評価フィルタなどの拡張インターフェースを提供しています。パースカスタム実装/インデックス機能などを追加できます。
Webページの言語判定を行い、検索キーとして言語を指定できるようにすることも可能です。
負荷分散
Nutchは分散管理フレームワーク「Apache Hadoop」を採用してます。Googleが提唱した分散処理システム「MapReduce」が元になっています。
Hadoopクラスタを構成することにより、情報量が増えても分散対応し、大規模なクロールデータを複数サーバ上に分散保持できます。
小規模クローラから大規模Webクローラまで、さまざまなユースケースをカバーできます。
URLフィルタ機能
URLフィルタ設定を行うことで「任意のサイトの新着情報のみクロールする」ようなことを行えます。
同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「Apache ManifoldCF」「Heritrix」「S2Robot」など。
ライセンス情報
Apache Nutchのライセンスは「Apache License 2.0」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。
ダウンロード
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。