20

限られた数のWebサイトにインデックスを付ける専用の検索エンジンWebサイトを構築しようとしています。私が思いついた解決策は次のとおりです。

  • NutchをWebクローラーとして使用し、
  • Solrを検索エンジンとして使用し、
  • フロントエンドとサイトロジックはWicketでコーディングされています。

問題は、Nutchが非常に複雑であり、詳細なドキュメント(本、最近のチュートリアルなど)が存在しないにもかかわらず、カスタマイズするのに大きなソフトウェアであることに気付くということです。

今の質問:

  1. サイトの穴のアイデアについて建設的な批判はありますか?
  2. (サイトのクロール部分として)Nutchに代わる優れたシンプルな方法はありますか?

ありがとう

4

5 に答える 5

4

これは、クロールすると考えられる Web サイトと URL の数によって異なります。Apache Nutch はページ ドキュメントを Apache HBase (Apache Hadoop に依存) に保存します。これは堅牢ですが、セットアップと管理が非常に困難です。

クローラーは単なるページ フェッチ (CURL のような) であり、URL データベースにフィードするためのリンクのリストを取得します。 MySQL データベース (おそらく、クロール ジョブをスケジュールする RabbitMQ のようなキュー ソフトウェア)。

一方、クローラーはより洗練されたものになる可能性があり、HTML ドキュメントから HEAD 部分を削除し、ページの実際の「コンテンツ」のみを保持することができます。

また、Nutch は PageRank アルゴリズムを使用してページをランク付けできます。Apache Spark を使用して同じことを行うことができます (Spark はデータをメモリにキャッシュできるため、より効率的です)。

于 2014-05-02T08:38:19.693 に答える
4

Scrapyは、Web サイトをクロールする Python ライブラリです。これは (Nutch に比べて) かなり小さく、限られたサイト クロール用に設計されています。Django タイプの MVC スタイルで、カスタマイズが非常に簡単です。

于 2010-11-24T17:57:03.593 に答える
4

這う部分はanemonecrawler4jがとても好きです。どちらも、リンクの選択とページ処理のためのカスタム ロジックを追加できます。保持することを決めたページごとに、Solr への呼び出しを簡単に追加できます。

于 2011-02-27T14:35:26.507 に答える
2

では、C# ですが、はるかに単純で、作成者と直接通信できます。(自分)

私はNutchを使用していましたが、あなたは正しいです。それは一緒に働くクマです。

http://arachnode.net

于 2013-03-03T20:33:21.673 に答える
0

Nutch がアプリケーションにとって最良の選択であると確信していますが、必要に応じて、単純なツールHeritrixがあります。それに加えて、フロントエンド言語には js をお勧めします。なぜなら、solr は js で簡単に処理できる json を返すからです。

于 2014-08-13T07:00:32.240 に答える