【问题标题】:Create new Elasticsearch index from query?从查询中创建新的 Elasticsearch 索引?
【发布时间】:2016-01-25 13:14:07
【问题描述】:

SQL 具有“INSERT INTO ... SELECT”语句来使用查询中的数据填充表。 Elasticsearch 有类似的东西吗?

这将阻止我使用查询从现有索引中大量删除数据 - 这是 Elasticsearch 2.1 官方指南警告的内容:

不要使用 delete-by-query 来清除索引中的所有或大部分文档。而是创建一个新索引,并可能重新索引您想要保留的文档。

(来源:https://www.elastic.co/guide/en/elasticsearch/plugins/current/plugins-delete-by-query.html)。

【问题讨论】:

    标签: elasticsearch elasticsearch-plugin


    【解决方案1】:

    您可以使用 taskrabbit 中名为 elasticdump 的出色实用程序。

    many options自定义导入流程。在您的情况下,我会使用 searchBody 选项并使用以下内容:

    elasticdump \
      --input=http://HOST:9200/source_index \
      --output=http://HOST:9200/target_index \
      --bulk=true \
      --searchBody='{"query": { "match_all": {} } }'
    

    您可以自定义查询,只有来自source_index 的匹配文档将被复制到target_index

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 2018-05-14
      • 2014-05-30
      相关资源
      最近更新 更多