将 Nest 升级到 1.7.1 后,刷新索引、序列化和统计会抛出错误

Refresh Index, Serialize and Stats are throwing errors after upgrading Nest to 1.7.1

我有刷新特定索引的现有代码,如下所示:

_elasticClient.Refresh(_testIndexName);

序列化如下查询:

_elasticClient.Serialize(query);

并检查索引状态如下:

elasticClient.Stats(_testIndexName);

错误如下:

'Nest.ElasticClient' 不包含 'Serialize' 的定义并且没有扩展方法 'Serialize' 接受类型 'Nest.ElasticClient' 的第一个参数可以找到(你是否缺少一个 using指令还是程序集引用?)

'Nest.ElasticClient.Refresh(System.Func)' 的最佳重载方法匹配有一些无效参数

'Nest.ElasticClient' 不包含 'Stats' 的定义并且没有扩展方法 'Stats' 可以找到接受类型 'Nest.ElasticClient' 的第一个参数(您是否缺少使用指令还是程序集引用?)

在 upgrading.Do 之后,以上所有内容都不起作用,除了降级我的版本之外,我还有其他选择吗?

可能您正在从 0.x 升级 NEST。这就是您在 NEST 1.x.

中处理呼叫的方式
  1. _elasticClient.Refresh(_testIndexName)改为_elasticClient.Refresh(f => f.Indices(_testIndexName))

  2. 如果要获取字符串

  3. ,请将 _elasticClient.Serialize(query) 更改为 _elasticClient.Serializer.Serialize(query)Encoding.UTF8.GetString(_elasticClient.Serializer.Serialize(query))
  4. elasticClient.Stats(_testIndexName)改为elasticClient.IndicesStats(i => i.Index(_testIndexName))

希望它能让您的迁移更轻松。