私はnutchを使用していくつかのデータをクロールし、それをelasticsearchに注入することができました。しかし、私には1つの問題があります。クロールされたデータを再び注入すると、重複が作成されます。これを拒否する方法はありますか?nutch - > elasticsearchソリューションを使用すると重複します
誰でもこれを解決したり解決方法を提案しましたか?
/サムス
私はnutchを使用していくつかのデータをクロールし、それをelasticsearchに注入することができました。しかし、私には1つの問題があります。クロールされたデータを再び注入すると、重複が作成されます。これを拒否する方法はありますか?nutch - > elasticsearchソリューションを使用すると重複します
誰でもこれを解決したり解決方法を提案しましたか?
/サムス
あなたは、インデックスの各ページ/文書はElasticSearchで同じIDでクロールした場合、それはそれを複製しません。チェックサム/ハッシュ関数を使用して、ページのURLを個別のIDにすることができます。
また、そのIDが既にインデックス化されている場合、それはそれのインデックスを再作成しないことを確実にするためにOperation_typeを使用することができます:
は、インデックス操作もを可能に、操作を作成 を強制するために使用することができますop_typeを受け入れます"put-if-absent"ビヘイビア。 の作成が使用されている場合、そのID の文書がすでに索引に存在する場合、索引操作は失敗します。
一つの方法、あなたは、いくつかのDBとのクロスにelasticSearchを締結しているすべてのデータのチェックサムのインデックスを維持することができますelasticSearchにデータを送信しようとする前に、それらを参照してください。 それから、「もっとよく似たような」クエリを実行して同様のドキュメントを表示し、それに基づいて決定を下すことができます。
LINK - http://www.elasticsearch.org/guide/reference/query-dsl/mlt-field-query.html