2016-03-11 34 views
1

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

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

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

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

一个传输客户端进行索引和搜索,并使用通过查询插件删除

+0

沉重?你什么意思? – dadoonet

+0

沉重意味着它可能会增加搜索请求的响应时间。 – sri

回答

1

你应该只使用一个插件的单个实例另一个传输客户端。 它是线程安全的,所以我没有看到有2个实例会增加什么价值。

请注意,由于elasticsearch将为长时间运行的任务提供任务管理API,因此删除按查询将在下一版本中发生变化。

另外,你正在运行什么样的删除操作?

+0

我的问题是关于运输客户端的实例。 一个传输客户端没有通过查询插件删除(用于索引和搜索请求) 一个传输客户端与删除插件(用于执行删除操作) – sri

+0

您是否认为如果您使用2个实例,您会发现任何区别?我不这么认为。 – dadoonet

相关问题