发现千万级数据定义的字段类型不对,然后需要新建索引,将旧的数据导到新的索引上,往往会出现超时现象
{"statusCode":502,"error":"Bad Gateway","message":"Client request timeout"}
解决方法wait_for_completion=false
POST /_reindex?slices=9&refresh&wait_for_completion=false
{
"source": {
"index": "dw_xxxx",
"size": 10000
},
"dest": {
"index": "dw_xxxx_nw"
}
}
// reindex 时候加上,可以在重建的时候把旧数据中相应的字段移除
"script": {
"source": "ctx._source.remove(\"update_time\");ctx._source.remove(\"create_time\");"
}
//修改keyword类型为指定date类型
"script": {
"source": """
def sou = new SimpleDateFormat("yyyy-MM-dd HH:mm");
def des = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
def comment_time = des.format(sou.parse(ctx._source.comment_time));
def post_time = des.format(sou.parse(ctx._source.post_time));
ctx._source.comment_time=comment_time;ctx._source.post_time=post_time;"""
}