Как отправить задачу в клиенте ElasticSearch Java API?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как отправить задачу в клиенте ElasticSearch Java API?

Сообщение Anonymous »

Теперь RestHighLevelClient устарел.
Поэтому я хочу переписать код с помощью ElasticSearch Java Api Client в моем весеннем проекте.
Большинство функций модифицируются правильно, но я не нашел подходящего способа изменить эту функцию.
Ниже приведен мой существующий код.

Код: Выделить всё

//    import org.elasticsearch.index.reindex.DeleteByQueryRequest;
private String deleteLarge(String indexName, Long categoryNumber, Optional age) {
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery()
.filter(QueryBuilders.matchQuery("category", categoryNumber));
age.ifPresent(a -> boolQueryBuilder
.filter(QueryBuilders.matchQuery("age", a)));

DeleteByQueryRequest request = new DeleteByQueryRequest(indexName)
.setQuery(boolQueryBuilder)
.setSlices(10);

try {
TaskSubmissionResponse taskSubmissionResponse = restHighLevelClient.submitDeleteByQueryTask(request, RequestOptions.DEFAULT);
logger.info("DeleteByQueryTask task id: {}", taskSubmissionResponse.getTask());
return taskSubmissionResponse.getTask();
} catch (Exception e) {
logger.error(e.getMessage());
}
return null;
}
Цель этого кода — удалить очень большой объем документов (от десятков тысяч до миллионов). Поскольку оценить время выполнения было сложно, я отправил задачу для внутреннего выполнения ES.
Однако, похоже, клиент ElasticSearch Java API не имеет такой функции. В официальной документации есть такой класс, как ElasticsearchTasksClient, который предоставляет возможность получать информацию или отменять задачу, но не отправлять новые задачи.
Вот мои вопросы:
  • ES больше не поддерживает задачи? Постепенно ли он устаревает?
  • Если нет, есть ли другой способ отправки новых задач?
  • Если он действительно недоступен, существует ли другой способ для достижения аналогичной функциональности? Будет ли использование deleteByQuery в ElasticsearchAsyncClient эквивалентом отправки задачи?


Подробнее здесь: https://stackoverflow.com/questions/793 ... api-client
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»