首页 > 解决方案 > elasticsearch-rest-high-level-client:6.5.0 BulkRequest 不再工作

问题描述

我已将 elasticsearch 从 6.4.2 更新到 6.5.0,并且使用其余高级客户端 api 的 BulkRequest 不再起作用:

final BulkRequest request = new BulkRequest();
myarray().forEach(elem -> {
  try {
    final XContentBuilder builder = XContentFactory.jsonBuilder();
    builder.startObject();
    {
      builder.timeField("@timestamp", elem.getTimestamp());
      builder.field("metric", elem.getMetric().getName());
      builder.field("resource", elem.getResource().getName());
      builder.field("value", elem.getValue());
      builder.field("windowId", elem.getWindowId());
    }
    builder.endObject();
    System.out.println(builder.prettyPrint());
    final IndexRequest indexRequest = new IndexRequest("myindex-2018.11.20", "mytype");
    indexRequest.source(builder);
    request.add(indexRequest);
  } catch (IOException e) {
    logger.log(Level.SEVERE, "Error forward", e);
  }
});
BulkResponse response = client.bulk(request, RequestOptions.DEFAULT);

如果我执行一个 IndexRequest 它工作正常:

final XContentBuilder builder = XContentFactory.jsonBuilder();
builder.startObject();
{
  builder.timeField("@timestamp", System.currentTimeMillis());
  builder.field("metric", "test");
  builder.field("resource", "test");
  builder.field("value", "-1");
  builder.field("windowId", "test");
}
builder.endObject();
final IndexRequest indexRequest = new IndexRequest("myindex-2018.11.20", "mytype");
indexRequest.source(builder);
final IndexResponse response = client.index(indexRequest, RequestOptions.DEFAULT);

这两个查询在 6.4.2 版本中运行良好,现在在 6.5.0 版本中只有第二个在工作。

我没有收到任何错误

标签: elasticsearchelastic-stack

解决方案


推荐阅读