elasticsearch,bulk,Shell,elasticsearch,Bulk" /> elasticsearch,bulk,Shell,elasticsearch,Bulk" />

使用shell脚本将_search生成的json文件导入弹性搜索

使用shell脚本将_search生成的json文件导入弹性搜索,shell,elasticsearch,bulk,Shell,elasticsearch,Bulk,我通过运行范围查询在ElasticSearch中生成了json,它以以下格式生成: { "took" : 63, "timed_out" : false, "_shards" : { "total" : 5, "successful" : 5, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : 1000, "max_score" : null, "hits" : [

我通过运行范围查询在ElasticSearch中生成了json,它以以下格式生成:

{
  "took" : 63,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : 1000,
    "max_score" : null,
    "hits" : [ {
      "_index" : "bank",
      "_type" : "_doc",
      "_id" : "0",
      "sort": [0],
      "_score" : null,
      "_source" : {"account_number":0,"balance":16623,"firstname":"Bradshaw","lastname":"Mckenzie","age":29,"gender":"F","address":"244 Columbus Place","employer":"Euron","email":"bradshawmckenzie@euron.com","city":"Hobucken","state":"CO"}
    }, {
      "_index" : "bank",
      "_type" : "_doc",
      "_id" : "1",
      "sort": [1],
      "_score" : null,
      "_source" : {"account_number":1,"balance":39225,"firstname":"Amber","lastname":"Duke","age":32,"gender":"M","address":"880 Holmes Lane","employer":"Pyrami","email":"amberduke@pyrami.com","city":"Brogan","state":"IL"}
    }, ...
    ]
  }
}
我需要将此json导入ElasticSearch。我已经从elastic看到了BulkAPI,但它需要不同的json格式。有人能帮我吗


如何使用shell将此文件更改为正确的json文件,以便将此json文件转储到ElasticSearch?

不清楚您具体想做什么。。但是根据您所描述的内容,您应该查看
\u reindex
API。它将允许您将查询结果发送到新的不同索引中

下面是您提供查询的示例:

POST _reindex
{
  "source": {
    "index": "twitter",
    "type": "_doc",
    "query": {
      "term": {
        "user": "kimchy"
      }
    }
  },
  "dest": {
    "index": "new_twitter"
  }
}

嗨,ryan,感谢您的回复,但是我想将json文件中的数据复制到同一个索引中,我可以使用_reindex将dest index替换为source index吗?或者还有其他方法?您的目标是更新原始记录,还是只是复制它们?