2017-07-18 12 views
0

バッチ内の文書の束がElasticsearchのNESTクライアントライブラリ我々がやろうとしている何

foreach (var batch in props.ChunkBy(100)) 
{  

    var result = await client.IndexManyAsync<Type>(batch, indexName); 

} 

、すなわちインデックスにある我々はしたいと思いますSTOP Elasticsearch 我々は、すべてのインデックス作成が完了するまでインデックスを更新バッチ。次に、インデックスを有効にして更新します。

我々はNE​​STライブラリと

感謝

答えて

1

をこれを達成することができますどのように効果的に-1に間隔の値を設定することで、インデックスの更新を無効にすることができます。以下は、Nestクライアントを使用してリフレッシュ間隔を-1に設定する方法を示すコードサンプルです。その後、一括操作を行い、後でリフレッシュ間隔をデフォルトの1秒に戻すことができます。

//Set Index Refresh Interval to -1, essentially disabling the refresh 
var updateDisableIndexRefresh = new UpdateIndexSettingsRequest(); 
updateDisableIndexRefresh.IndexSettings.RefreshInterval = Time.MinusOne; 
client.UpdateIndexSettings(updateDisableIndexRefresh); 

//Do your bulk operations here... 

//Reset the Index Refresh Interval back to 1 second, the default setting. 
var updateEnableIndexRefresh = new UpdateIndexSettingsRequest(); 
updateEnableIndexRefresh.IndexSettings.RefreshInterval = new Time(1, TimeUnit.Second); 
client.UpdateIndexSettings(updateEnableIndexRefresh);