Nutchとelasticsearchをクロール目的で使用しているときに重大な問題に直面しています。Nutch Crawledドキュメントのelasticsearchマッピングの問題点
私たちのアプリケーションには2つのデータストレージエンジンがあります。
のMySQL
Elasticsearch
は、私は、MySQLのDBのURLのテーブルに格納されている10件のURLを持っているとしましょう。今では、実行時にこれらのURLをテーブルから取得し、これらをシードに書き込んで、クロールのためにtxtにしたいと考えています。私はこれらすべてのURLを必要に応じて書いています。今では私のクロールが始まり、インデックス内のelasticsearch内でこれらのドキュメントにインデックスを付けます(urlインデックスと言うことができます)。しかし、elasticsearchインデックス内に参照を保持して、elasticsearchインデックスにはクロールされたデータのみが含まれているため、分析目的で特定のURLのクロールされた詳細を取得できます。例えば、
MySQLでの私のテーブルの構造は次のとおりです。
表URL:私はしたい
ID URL
1 www.google.com
Elasticsearchインデックスマッピングは次のとおりです。
インデックスのURL:
{ _id: "www.google.com"、 タイプ: "DOC"、 内容: "Hello World" の url_id:1、 。 。 。 }
ここで、url_idは、urlsテーブル内のクロールされたURLのidカラムのフィールド値です。
URLごとに別々のインデックスを作成できますが、そのソリューションは理想的ではありません。なぜなら、終わりには複数のインデックスがあるからです。どのようにクロール後にこれを達成するか。弾性検索インデクサーを変更する必要がありますか?私はnutch 1.12とelastichsearch 1.7.1を使用しています。どんな助けでも大歓迎です。
ありがとうございました。私はurl_idをurlと一緒に渡し、urlmetaプラグインを使用しました。このインデックスはインデックス作成後にelasticsearchにurl_idフィールドを作成します。これで、mysqlテーブルのurlテーブルをelasticsearchインデックスにマップできます。これは私の多くの時間を節約しました。 – user2354150
@ user2354150あなたは依然として上記の私の答えを受け入れたとマークしていません。おそらく新しい質問を開くのに最適でしょう。他の人がそれを見つけやすくなるでしょう –
答えが受け入れられ、最良の結果を得ました – user2354150