Я обновилasticsearch с 6.4.2 до 6.5.0, и BulkRequest, использующий API-интерфейс клиента остальных уровней, больше не работает:
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 работает только второй.
Я не получаю никаких ошибок