按条件提取index里面指定的数据,然后在转存到新的index里面。

Elasticsearch | 作者 manman | 发布于2018年11月19日 | 阅读数:495

我现有的index里面有一个filed,里面存放的是国家的信息。我现在想新建一个index,然后把中国之外的所有国家的数据,全部从旧的index里面提取,然后复制到新的index里面。不知道有没有什么好的方法啊?
我觉得逻辑应该是这样的:
1:连接elasticsearch
2:循环遍历这个index
     获得index/country 内容
      if country !="中国":
     {
           copy这一条的所有field到新的index
     }
3:循环结束,关闭elasticsearch连接
可不可以直接在sense里面写 个json语句来完成这些操作呢?或者写个Python脚本?
已邀请:

zz_hello

赞同来自: manman

可以考虑通过重建索引的方式,例子如下
POST _reindex
{
"source": {
"index": "myindex",
"type": "mytype",
"query": {
"bool": {
"must_not": [
{"term": {
"country": {
"value": "中国"
}
}}
]
}
}
},
"dest": {
"index": "myindexnew"
}
}

要回复问题请先登录注册