我在elasticsearch中有一个包含Map和数据的现有索引,我需要复制该索引以测试新开发。是否仍要从现有索引创建临时/重复索引?
我来自一个sql背景,我正在研究与
SELECT *
INTO TestIndex
FROM OriginalIndex
WHERE 1 = 0
我尝试了克隆api,但无法使其工作。
我正在尝试克隆使用:
POST /originalindex/_clone/testindex
{
}
但这会导致以下例外情况:
{
"error": {
"root_cause": [
{
"type": "invalid_type_name_exception",
"reason": "Document mapping type name can't start with '_', found: [_clone]"
}
],
"type": "invalid_type_name_exception",
"reason": "Document mapping type name can't start with '_', found: [_clone]"
},
"status": 400
}
我知道有人会很快指引我。提前谢谢你们这些好心人。
2条答案
按热度按时间holgip5t1#
贴出问题后不久,我想出了一个办法。
首先,获取原始索引的属性:
复制属性并放入新索引:
现在我有了一个新的测试索引。
8yoxcaq72#
首先,必须将源索引设置为只读
然后你就可以克隆了
如果需要将文档复制到新索引,可以使用reindex api
(见:https://wrossmann.medium.com/clone-an-elasticsearch-index-b3e9b295d3e9)