2016-10-14 4 views
0

fscrawler(https://github.com/dadoonet/fscrawler)を使用して互いに関連するデータに対して2つのファイルクローラジョブを別々に実行しています。インデックス作成(子 - 親関係またはフラットドキュメントがOK)のときにデータを結合する方法がいくつかありますので、いくつかのミドルウェアが必要です。 LogstashとES 5.0の新しいIngest Node機能の両方を見ると、カスタムプロセッサの作成をサポートするものはありません。異なるソースからのデータをインデックス時にマージする

インデックス時にこの種のマージ/リレーショナルマッピングを実行する可能性はありますか?代わりに後処理をしなくてはなりませんか?

EDIT:json形式で1つのジョブが「記事」をクロールします。記事には、複数の添付ファイル(jsonの添付ファイル配列で宣言されている)を別の場所に置くことができます。 2番目のジョブは実際の添付ファイル(たとえばpdf ...)をクロールし、TIKA処理を適用します。最終的には、添付ファイルの内容も含まれる1つの記事タイプをご希望です。

+0

2つのクローラがどのような種類のデータを送信していて、最終的にどのようなデータを取得したいのかを少し詳しく説明できますか? – Val

+0

質問が更新されました。 – frods

+1

これはelasticsearchについての質問のようなものではありません.2つのソースからデータを取得し、そこからドキュメントを作成する戦略が必要なように聞こえます。 –

答えて

1

両方のドキュメントを異なるESインデックスに読み込むと、(まだ)添付ファイルの内容を含んでいない記事を探すLS入力を持つことができます。これらのドキュメントでは、他のelasticsearchインデックス(LSのelasticsearch {}フィルタを参照)を照会し、記事ドキュメントを更新することができます。

+0

はい、後処理が必要なようです。 elasticsearchフィルターを知らなかった、ありがとう!答えとしてマーク。 – frods

関連する問題