使用shell脚本将_search生成的json文件导入弹性搜索
我通过运行范围查询在ElasticSearch中生成了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" : [
{
"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吗?或者还有其他方法?您的目标是更新原始记录,还是只是复制它们?