我的目标是为具有1000万个分片的索引重新编制索引,以更改字段映射以促进重要术语分析。
我的问题是我在使用NEST库执行重新索引时遇到了麻烦,并且文档非常有限。如果可能,我需要使用以下示例:
http://nest.azurewebsites.net/nest/search/scroll.html
http://nest.azurewebsites.net/nest/core/bulk.html
Reindex尽管缺少文档,但是NEST提供了一种可以使用的不错的方法。我已使用此临时WinForms代码以非常粗糙的方式使用了它。
Reindex
private ElasticClient client; private double count; private void reindex_Completed() { MessageBox.Show("Done!"); } private void reindex_Next(IReindexResponse<object> obj) { count += obj.BulkResponse.Items.Count(); var progress = 100 * count / (double)obj.SearchResponse.Total; progressBar1.Value = (int)progress; } private void reindex_Error(Exception ex) { MessageBox.Show(ex.ToString()); } private void button1_Click(object sender, EventArgs e) { count = 0; var reindex = client.Reindex<object>(r => r.FromIndex(fromIndex.Text).NewIndexName(toIndex.Text).Scroll("10s")); var o = new ReindexObserver<object>(onError: reindex_Error, onNext: reindex_Next, completed: reindex_Completed); reindex.Subscribe(o); }
而且我刚刚找到了向我展示如何操作的博客文章:http : //thomasardal.com/elasticsearch-migrations-with-c-and- nest/