我们有一个要求,我们必须使用按查询删除插件。
根据新的ES版本2.x,按查询删除将用作通过传输客户端的插件,如下所示:
私有(private)TransportClient dc1Client = null;
this.dc1Client = TransportClient.builder()。settings(settings).addPlugin(DeleteByQueryPlugin.class).build();
我们一直在使用相同的传输客户端进行索引和搜索。但是添加删除插件会使执行搜索和索引操作时变得沉重。
一个应用程序中可以有多个运输客户端吗?
一个传输客户端用于索引和搜索,另一个传输客户端使用通过查询插件删除
最佳答案
您应该只使用一个插件实例。
它是线程安全的,因此我看不到拥有2个实例的附加值是什么。
请注意,按查询删除将在下一版本中有所变化,因为elasticsearch将具有用于长时间运行任务的任务管理API。
另外,您正在执行哪种删除操作?
关于elasticsearch - ES中的运输客户端,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35933467/