【问题标题】:Bulk update with mapping in NEST使用 NEST 中的映射进行批量更新
【发布时间】:2021-11-12 03:58:49
【问题描述】:

我正在通过以下方式使用映射创建索引:

_elasticClient.Indices.Create(name, c => c.Map(/* omitted for brevity */));

_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,似乎仍然会创建一个索引。 index_v1/_bulk 的 POST 是否会创建索引(如果它不存在),但如果我先用我的第一行创建它并用数据更新它?

【问题讨论】:

    标签: elasticsearch nest


    【解决方案1】:

    默认情况下,如果数据被索引到一个尚不存在的索引中,Elasticsearch 将创建索引并根据它看到的第一个文档推断文档的映射。这可能很有用,但通常对于搜索用例,您希望显式控制文档的映射以应用特定的分析器等,因此使用您想要的映射创建索引是首选方法.

    【讨论】:

      猜你喜欢
      • 2016-05-02
      • 2022-08-10
      • 2012-08-23
      • 1970-01-01
      • 1970-01-01
      • 2016-06-26
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      相关资源
      最近更新 更多