elasticsearch,Indexing,elasticsearch" /> elasticsearch,Indexing,elasticsearch" />

Indexing 在ElasticSearch中重新索引索引以更改碎片数

Indexing 在ElasticSearch中重新索引索引以更改碎片数,indexing,elasticsearch,Indexing,elasticsearch,我需要更改索引中的碎片数。索引非常大,在我对结果感到满意之前,我可能需要更改配置10-15次以进行测试。有没有现成的工具提供这种功能?或者最简单的方法是什么?和客户端都直接支持重新索引 在Perl中,您可以执行以下操作: my $source = $es->scrolled_search( index => 'old_index', search_type => 'scan', scroll => '5m', vers

我需要更改索引中的碎片数。索引非常大,在我对结果感到满意之前,我可能需要更改配置10-15次以进行测试。有没有现成的工具提供这种功能?或者最简单的方法是什么?

和客户端都直接支持重新索引

在Perl中,您可以执行以下操作:

my $source = $es->scrolled_search(
    index       => 'old_index',
    search_type => 'scan',
    scroll      => '5m',
    version     => 1
);

$es->reindex(
    source      => $source,
    dest_index  => 'new_index'
);
Tire.index('old').reindex 'new', settings: { number_of_shards: 3 }
在中查找更多信息

在Ruby中,您可以执行以下操作:

my $source = $es->scrolled_search(
    index       => 'old_index',
    search_type => 'scan',
    scroll      => '5m',
    version     => 1
);

$es->reindex(
    source      => $source,
    dest_index  => 'new_index'
);
Tire.index('old').reindex 'new', settings: { number_of_shards: 3 }

在。

+1中查找更多信息,了解答案和出色的工作;)我要补充的是,另一种替代方法是从数据库的内容重新编制索引。如果您正在更改索引的内容,例如添加一个要索引的新字段,那么这种情况也很常见?