ES 中的传输客户端



我们有一个要求,我们必须使用按查询删除插件。根据新的 ES 版本 2.x,按查询删除通过传输客户端用作插件,如下所示:私有传输客户端 dc1客户端 = 空;

this.dc1Client=TransportClient.builder().settings(settings).addPlugin(DeleteByQueryPlugin.class).build();

我们一直使用相同的传输客户端进行索引和搜索。但是添加删除插件会使它在执行搜索和索引操作时变得沉重。

我们可以在一个应用程序中有多个传输客户端吗?

一个传输客户端用于索引和搜索,另一个传输客户端用于使用"按查询删除"插件

您应该只使用插件的一个实例。它是线程安全的,所以我看不出拥有 2 个实例的附加值是什么。

请注意,通过查询删除将在下一个版本中发生一些变化,因为 elasticsearch 将具有用于长时间运行的任务的任务管理 API。

另外,您正在运行哪种类型的删除操作?

最新更新