【发布时间】:2021-04-21 11:48:46
【问题描述】:
我有一个具有以下配置的索引映射:
"mappings" : {
"_source" : {
"excludes" : [
"special_field"
]
},
"properties" : {
"special_field" : {
"type" : "text",
"store" : true
},
}
}
因此,当使用此映射对新文档进行索引时,会得到以下结果:
{
"_index": "********-2021",
"_id": "************",
"_source": {
...
},
"fields": {
"special_field": [
"my special text"
]
}
}
如果执行_search 查询,则special_field 不会在_source 内返回,因为它被排除在外。
通过以下_search查询,完美返回special_field数据:
GET ********-2021/_search
{
"stored_fields": [ "special_field" ],
"_source": true
}
现在我试图重新索引该索引中的所有文档,但我丢失了存储在special_field 中的信息,并且只有_source 字段正在重新索引。
有没有办法将 special_field 放回 _source 字段中?
有没有办法在不丢失 special_field 数据的情况下重新索引该文档?
如何将这些文档迁移到另一个集群而不丢失special_field 数据?
谢谢大家。
【问题讨论】:
-
你在使用logstash吗?
-
我认为使用 logstash 您可以复制 speial_field 并从 _source 中删除。
标签: elasticsearch elastic-stack elk