我正在創建一個帶有映射的索引,方法如下:
_elasticClient.Indices.Create(name, c => c.Map(/*為簡潔起見省略*/))。
_elasticClient.BulkAll(data, b => b
.Index(name)
.BackOffTime("30s")
.BackOffRetries(2)
.RefreshOnCompleted()
.MaxDegreeOfParallelism(Environment.ProcessorCount)
.Size(50)).Wait(TimeSpan.FromMinutes(15), _ => { });
_elasticClient.Indices.PutAlias(name, Alias)。
我只是想了解批量更新的作業原理,確保我的做法是正確的。即使我洗掉了_elasticClient.Indices.Create,一個索引似乎仍然被創建。如果索引不存在,POST到index_v1/_bulk是否會創建索引,但如果我先用第一行創建它,是否會用資料更新它?
uj5u.com熱心網友回復:
默認情況下,如果資料被索引到一個尚不存在的索引中,Elasticsearch將創建索引,并根據它看到的第一個檔案來推斷檔案的映射。這可以很有用,但通常對于搜索用例來說,你想明確地控制檔案的映射,以應用特定的分析器等,所以用你想要的映射創建索引是首選方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/329573.html
標籤:
