Products
GG网络技术分享 2025-11-12 18:20 3
Elasticsearch 是一个有力巨大的搜索引擎,但遗憾的是它不支持直接修改索引中字段的类型。Ru果需要geng改字段类型,非...不可采取一些间接的方法。
Reindex API 允许你将一个索引中的数据复制到另一个索引,在这玩意儿过程中Neng修改字段类型。
创建新鲜索引并设置正确的字段类型
json
PUT index-/_mapping {
"properties": {
"title_text": {
"type": "text",
"fields": {
"keyword": {"type": "keyword"}
}
}
}
}
用 Reindex API 复制数据到新鲜索引
json
POST _reindex {
"source": {
"index": "index-1"
},
"dest": {
"index": "index-2"
}
}
删除原索引并沉命名新鲜索引
shell
curl -XDELETE -u elastic:changeme index-1
curl -XPOST -u elastic:changeme index-1/_rename { "target": "index-1" }
Ru果你只是想改变字段的内部表示,Neng通过直接修改字段的方式实现。
json
POST index-/_update_by_query {
"script": {
"source": "ctx._source.title = ",
"lang": "painless",
"params": {
"text_value": "your_text_value"
}
}
}
然后 你需要删除该字段并添加一个新鲜的字段,如下:
这些个方法Neng根据你的具体需求和索引的巨大细小进行选择。
Demand feedback