1

我想将更新的映射应用到一个索引,我已尽力遵循有关 ES 和 Stackoverflow 的文档,但现在我被卡住了。

原始索引:logstash-index-YYYY.MM其中包含数据
我创建了索引:(logstash-index-new-YYYY.MM它有一个用于新映射的模板)

使用以下查询:
/logstash-index-YYYY.MM/_search?search_type=scan&scroll=1m
{ "query": { "match_all": {} }, "size": 30000 }

我得到了一个_scroll_id并且我有不到 30k 的文档,所以我应该只需要运行一次。

如何使用该 id 将数据推送到新索引中?

4

1 回答 1

1

您没有使用 scrollid 将数据推送到新索引中。您可以使用它从滚动查询中获取另一部分数据。

当您运行扫描查询时,第一次通过不会返回任何结果,它会扫描集群中的分片并返回滚动ID。另一遍(使用第一遍的 scrollid)将返回实际结果。

如果您想将该数据放入新索引中,您应该使用您选择的语言编写某种简单的程序,该程序将获取该数据,然后将其放入您的新索引中。

elasticsearch 博客上有一篇非常好的文章,如何动态更改索引的映射。不幸的是,这里没有涵盖重新索引本身。

于 2015-02-16T19:12:05.627 回答