第一个syn_resume的mapping如下
GET syn_resume/_mapping
{
"syn_resume": {
"mappings": {
"dynamic": "strict",
"properties": {
"id": {
"type": "long"
},
"name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256,
"normalizer": "lowercase"
},
"suggest": {
"type": "completion",
"analyzer": "english",
"preserve_separators": true,
"preserve_position_increments": true,
"max_input_length": 50
}
},
"analyzer": "english"
}
}
}
}
}
第二个index为
GET syn_word/_mapping
{
"syn_word" : {
"mappings" : {
"dynamic" : "strict",
"properties" : {
"code" : {
"type" : "keyword"
},
"delFlag" : {
"type" : "keyword"
},
"id" : {
"type" : "long"
},
"language" : {
"type" : "keyword"
},
"languageType" : {
"type" : "integer"
},
"status" : {
"type" : "integer"
},
"type" : {
"type" : "integer"
},
"word" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
},
"suggest" : {
"type" : "completion",
"analyzer" : "english",
"preserve_separators" : true,
"preserve_position_increments" : true,
"max_input_length" : 50
}
},
"analyzer" : "english"
}
}
}
}
}
然后将syn_resume的name字段赋值给syn_word的word字段
POST _reindex?refresh
{
"source": {
"index": "syn_resume",
"query": { //查询条件
"exists": {
"field": "name"
}
},
"_source":["id","name","status"],//需要查询的字段
"size": 5000
},
"dest": {
"index": "syn_word"
},
"script": {
"source": "ctx._source.word= ctx._source.remove('name');ctx._source.type=1;ctx._source.languageType=0;ctx._source.language='0';", //设置值,并移除name字段
"lang": "painless"
}
}
执行完成,希望可以帮到您,谢谢关注