2012-03-30 4 views
3

インデックス内のシャード数を変更する必要があります。インデックスはかなり大きく、私は結果に満足する前に、テスト目的のために設定を10-15回変更する必要があるかもしれません。この種の機能を提供するツールはありますか?これを達成する最も簡単な方法は何ですか?ElasticSearchでインデックスを再インデックスしてシャード数を変更する

答えて

7

PerlRubyの両方のクライアントは、再インデックスを直接サポートします。

Perlでは、あなたは何だろう:

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

$es->reindex(
    source  => $source, 
    dest_index => 'new_index' 
); 

post by Clinton Gormleyでより多くの情報を検索します。

Rubyでは、あなたは何だろう:

Tire.index('old').reindex 'new', settings: { number_of_shards: 3 } 

relevant Tire commitでより多くの情報を検索します。

+0

+1答えと優れた仕事;) もう1つの方法は、データベースの内容から再インデックスすることです。インデックスの内容を変更している場合、たとえばインデックスを作成する新しいフィールドを追加する場合もこれは珍しいことではありません。 –

+0

Pythonからやる方法はありますか? – eran

関連する問題