ingest
reindex
实例
老数据的_id是随机生成,使用业务的user_id
预估大概多少需要清洗的老数据
GET yw_*/_search
{
"size": 0,
"query": {
"bool": {
"must": [
{
"exists": {
"field": "id"
}
}
],
"filter": {
"script": {
"script": """
String a = String.valueOf(doc['id']);
String b = String.valueOf(doc['_id']);
return a!=b
"""
}
}
}
},
"aggs":{
"group_aggs":{
"terms":{
"field":"_index"
}
}
}
}
创建管道
通过 painless 脚本访问字段:不同的上下文语法不一样
- ingest 预处理:ctx.field_name
- update: ctx._source.field_name
# 保存指定管道名(管道id)
PUT _ingest/pipeline/yw_pipeline_user_index_id
{
"version" : 1,
"description": "id transfer",
"processors": [