elasticsearch 在elasticsearch上复制文档,elasticsearch,kibana,elasticsearch,Kibana" /> elasticsearch 在elasticsearch上复制文档,elasticsearch,kibana,elasticsearch,Kibana" />

elasticsearch 在elasticsearch上复制文档

elasticsearch 在elasticsearch上复制文档,elasticsearch,kibana,elasticsearch,Kibana,我需要使用kibana控制台克隆elasticsearch索引(在同一索引中)中的文档内容。我需要文档的_源中完全相同的字段(当然,副本将有另一个id)。我试图: 获取文档 创建文档的新空实例 通过以下方式更新新文档: 手动复制(1)上结果的属性: 但问题是字段包含每一个很长的属性。有时我会出错,因为当我从Kibana接口手动复制字符串时,字符串似乎没有被替换 我在文档中搜索了一下,但是我找不到一个复制文档的查询,我认为这是一个非常常见的想法 有什么线索吗?利用。这是你能做的 步骤摘要: 创建

我需要使用kibana控制台克隆elasticsearch索引(在同一索引中)中的文档内容。我需要文档的_源中完全相同的字段(当然,副本将有另一个id)。我试图:

  • 获取文档
  • 创建文档的新空实例
  • 通过以下方式更新新文档: 手动复制(1)上结果的属性:
  • 但问题是字段包含每一个很长的属性。有时我会出错,因为当我从Kibana接口手动复制字符串时,字符串似乎没有被替换

    我在文档中搜索了一下,但是我找不到一个复制文档的查询,我认为这是一个非常常见的想法

    有什么线索吗?

    利用。这是你能做的

    步骤摘要:
    • 创建一个
      目的地\u索引(虚拟)。确保映射与
      源索引的映射完全一致
    • 使用,将该特定文档从
      源索引
      重新索引到
      设计索引
      。在这个操作中,更新_id(我提到了脚本)
    • 将此文档从
      设计索引
      重新索引到
      源索引
    重新索引查询 步骤1:将文档从源索引复制到目标索引。(与脚本一起)

    POST _reindex
    {
      "source": {
        "index": "source_index",
        "query": {
          "match": {
            "_id": "1"
          }
        }
      },
      "dest": {
        "index": "destination_index"
      },
      "script": {
        "inline": "ctx._id=2",
        "lang": "painless"
      }
    }
    
    请注意,我如何在上面的查询中添加了一个
    脚本
    ,该脚本将更改文档的
    \u id(\u id设置为2)
    。除了
    \u id
    字段外,您的目的地索引将包含与源索引值完全相同的所有字段

    步骤2:将该文档从目标索引复制到源索引

    POST _reindex
    {
      "source": {
        "index": "destination_index",
        "query": {
          "match": {
            "_id": "2"
          }
        }
      },
      "dest": {
        "index": "source_index"
      }
    }
    
    现在搜索
    源索引
    ,它将有两个具有不同
    \u id(\u id=1和\u id=2)的文档
    ,具有完全相同的内容


    希望这有帮助

    非常感谢!当然有帮助。我还通过使用logstash脚本找到了另一种选择:)
    POST _reindex
    {
      "source": {
        "index": "destination_index",
        "query": {
          "match": {
            "_id": "2"
          }
        }
      },
      "dest": {
        "index": "source_index"
      }
    }