我有一个客户在JSON文件中向我提供了如下所示的Elastic查询的输出:

    {
    "took": 74,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": 169905,
        "max_score": 1,
        "hits": [
            {
                "_index": "myindex",
                "_type": "data",
                "_id": "46c40732-71b6-4d30-96de-d38d6fc88b6786c7b6e758a4e927a8beb906a52cfc47d00f58bb472fc031fadac042591d7400",
                "_score": 1,
                "_source": {
                    "reqSize": 0,
...
                   "respCode": 0
                }
            },
            {
                "_index": "myindex",
                "_type": "data",
                "_id": "46c40732-71b6-4d30-96de-d38d6fc88b67f3edcdcee2f1710aac0325ecfc190addcfdb842f3efa3ce391306c9ca2eaf628",
                "_score": 1,
                "_source": {
                    "reqSize": 0,
...
                   "respCode": 0
                }
            }, ...

可以看到,几乎有170.000条记录。
我想在我的测试Elastic中摄取这些数据。我需要摄取的数据是_source中的内容。如何最好地从文件中提取出来?只要输入位于JSON文件中,logstash是否是执行此操作的正确工具?

感谢您的建议。
C

最佳答案

将数据从一个Elasticsearch集群获取到另一个集群的最简单方法是在源集群上创建一个snapshot。存档文件,然后将其还原到目标位置。只需检查两个集群是否具有相同版本即可。

08-04 00:37