1

我必须将我们的 ES 从 6.2(TCP 客户端)升级到 7.4.2(REST API)

而且我有一点问题UpdateByQueryRequestBuilder,看起来需要更改为UpdateByQueryRequestdoc)。旧代码如下所示

BoolQueryBuilder dateQueryBuilder = ...
QueryBuilder a = ...
BoolQueryBuilder b = ...

UpdateByQueryRequestBuilder updateByQuery = new UpdateByQueryRequestBuilder(tcpClient, UpdateByQueryAction.INSTANCE);
updateByQuery.filter(dateQueryBuilder.filter(a).filter(b)).script(updateScript);

正如我所写,我理解UpdateByQueryRequestBuilder(使用最旧的客户端)应该被替换,UpdateByQueryRequest 但是这个新的 API 没有filter方法(只是setQuery将替换当前的查询在链式案例中......)

UpdateByQueryRequest updateRequest = new UpdateByQueryRequest();
updateRequest.setQuery(dateQueryBuilder)
    // .setQuery(a) - will replace dateQueryBuilder instead of chain new filter...
    // .filter - not exist in the new API

那么问题来了,我应该如何用最新的 ES REST API 替换这段代码(或链接查询)?

4

0 回答 0