0

xml ファイルと csv ファイルの 2 つのファイルがあります。csv ファイルからデータを取り込むときに、xml ファイルから add_fields を追加したいと考えています。

ここに私のxmlがどのように見えるかがあります

<Root>
  <Date>07.31.2015</Run>
  <Customer>
    <Name>John</Name>
    <ID>12345</ID>
  </Customer>
</Root>

そして、ここに私のcsvがあります

column1,column2,column3
example1,example2,example3
example4,example5,example6

ここで、xml ファイルから Date と ID を取得し、エラスティック検索に取得するときにそれらのフィールドを csv の各行に追加したいので、次のようにします。

{
  "_index" : "indx-2.0",
  "_type" : "logfile",
  "_id" : "abcdefg",
  "_score" : 1.0,
  "_source":{"message":["column1,column2,column3"],"Date":"07.31.2015", "CID": "12345"(etc)}
}
{
  "_index" : "indx-2.0",
  "_type" : "logfile",
  "_id" : "abcdefh",
  "_score" : 1.0,
  "_source":{"message":["example1,example2,example3"],"Date":"07.31.2015", "CID": "12345"(etc)}
}
{
  "_index" : "indx-2.0",
  "_type" : "logfile",
  "_id" : "abcdefi",
  "_score" : 1.0,
  "_source":{"message":["example4,example5,example6"],"Date":"07.31.2015", "CID": "12345"(etc)}
}

この種のことは、logstash を使用して可能ですか (また、.conf ファイルはどのようになりますか)?

4

1 に答える 1

0

簡単なアイデア:

XML を Elasticsearch にロードし、elasticsearch{} フィルタを使用してドキュメントをクエリし、それを csv データにマージできます。

xml データがあまり変化しない場合 (csv バッチごとに 1 回など)、ハードコーディングされた値で mutate->add_field を使用できます。

于 2015-07-31T16:40:40.897 に答える