将 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.
中处理呼叫的方式
将_elasticClient.Refresh(_testIndexName)
改为_elasticClient.Refresh(f => f.Indices(_testIndexName))
如果要获取字符串
,请将 _elasticClient.Serialize(query)
更改为 _elasticClient.Serializer.Serialize(query)
或 Encoding.UTF8.GetString(_elasticClient.Serializer.Serialize(query))
将elasticClient.Stats(_testIndexName)
改为elasticClient.IndicesStats(i => i.Index(_testIndexName))
希望它能让您的迁移更轻松。
我有刷新特定索引的现有代码,如下所示:
_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.
中处理呼叫的方式将
_elasticClient.Refresh(_testIndexName)
改为_elasticClient.Refresh(f => f.Indices(_testIndexName))
如果要获取字符串
,请将 将
elasticClient.Stats(_testIndexName)
改为elasticClient.IndicesStats(i => i.Index(_testIndexName))
_elasticClient.Serialize(query)
更改为 _elasticClient.Serializer.Serialize(query)
或 Encoding.UTF8.GetString(_elasticClient.Serializer.Serialize(query))
希望它能让您的迁移更轻松。