c# - Elasticsearch - 如何使用 NEST 7.1 SDK 重新索引
问题描述
我正在将我的 NEST 版本从 6.8 升级到 7.1。由于它是主要版本升级,我正在经历一些重大变化。
一项重大变化是使用 Reindex API。在 NEST 6.8 早期,我曾经像这样重新索引:
var req = new JObject
{
{ "source", new JObject
{
{ "index", "sourceIndexName" }
}
},
{ "dest", new JObject
{
{ "index", "destIndexName" }
}
}
};
var postDataRequest = JsonConvert.SerializeObject(jsonReindexReq, defaultJsonSerializerSettings);
var response = await elasticSearchClient.LowLevel.ReindexAsync<StringResponse>(postDataRequest, null, cancellationToken);
我现在如何使用 NEST 7.1 来做到这一点?
我看到新 SDK 中有 14 种不同风格的 reindex api,但我无法在网上找到任何示例。
解决方案
有几个构造函数,你可以有 cancelToken 或其他一些东西。
查询应该是:
var reindexResponse = client.ReindexOnServer(r => r
.Source(sou => sou.Index("sourceindex"))
.Destination(des => des.Index("destindex"))
.WaitForCompletion(true)
);
推荐阅读
- java - 为什么scanner.hasNextInt() 方法需要一个字母来开始处理数字?
- string - 从perl中的字符串中删除多个新行
- javascript - 用于从剪贴板内容制作 URL 的书签
- web-applications - Azure DevOps-Linux webapp 不显示
- javascript - 控制台对象中的换行符
- python - seaborn 更改 clustermap 可视化选项而不重做聚类
- hibernate - Kotlin Hibernate JPA Lazy fetch 无法通过控制器工作
- javascript - 与 TabBarIOS 一起使用时无法将组件正确传递给 NavigatorIOS
- java - Spring批处理JobRepository位置和缩放
- javascript - 在javascript / jquery中将2个数组与对象连接起来