gal*_*007 5 elasticsearch kibana
我需要使用 kibana 控制台在我的 elasticsearch 索引(在同一索引中)克隆文档的内容。我需要文档的 _source 中的字段完全相同(当然,副本会有另一个 id)。我试图:
Run Code Online (Sandbox Code Playgroud)POST /blog/post/VAv2FWoBKgnBpki61WiD/_update { "doc" : { "content" : "..." ...
但问题是该字段包含 veeeery long 属性。有时我会遇到错误,因为当我从 Kibana 界面手动复制字符串时,它们似乎没有被转义。
我在文档中进行了搜索,但找不到复制文档的查询,我认为这是一个很常见的想法......
有什么线索吗?
利用Reindex API。这是您可以做的。
destination_index(虚拟)。确保映射与source_indexsource_index至desitnation_index。在此操作期间,更新 _id (我已经提到过脚本)desitnation_index为source_index步骤1:将文档从source_index复制到destination_index。(有剧本)
POST _reindex
{
"source": {
"index": "source_index",
"query": {
"match": {
"_id": "1"
}
}
},
"dest": {
"index": "destination_index"
},
"script": {
"inline": "ctx._id=2",
"lang": "painless"
}
}
Run Code Online (Sandbox Code Playgroud)
请注意我如何在上面的查询中添加了一个script会更改_id (_id is set as 2)文档的 。除该字段外,您的destination_index将具有与源的值完全相同的所有字段_id。
步骤 2:将该文档从目标索引复制到源索引
POST _reindex
{
"source": {
"index": "destination_index",
"query": {
"match": {
"_id": "2"
}
}
},
"dest": {
"index": "source_index"
}
}
Run Code Online (Sandbox Code Playgroud)
现在搜索source_index,将会有两个不同的文档,但_ids (_id=1 and _id=2)内容完全相同。
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
2125 次 |
| 最近记录: |