|
|
@@ -545,6 +545,10 @@ final class RequestConverters {
|
|
|
return prepareReindexRequest(reindexRequest, false);
|
|
|
}
|
|
|
|
|
|
+ static Request submitDeleteByQuery(DeleteByQueryRequest deleteByQueryRequest) throws IOException {
|
|
|
+ return prepareDeleteByQueryRequest(deleteByQueryRequest, false);
|
|
|
+ }
|
|
|
+
|
|
|
private static Request prepareReindexRequest(ReindexRequest reindexRequest, boolean waitForCompletion) throws IOException {
|
|
|
String endpoint = new EndpointBuilder().addPathPart("_reindex").build();
|
|
|
Request request = new Request(HttpPost.METHOD_NAME, endpoint);
|
|
|
@@ -564,6 +568,35 @@ final class RequestConverters {
|
|
|
return request;
|
|
|
}
|
|
|
|
|
|
+ private static Request prepareDeleteByQueryRequest(DeleteByQueryRequest deleteByQueryRequest,
|
|
|
+ boolean waitForCompletion) throws IOException {
|
|
|
+ String endpoint = endpoint(deleteByQueryRequest.indices(), "_delete_by_query");
|
|
|
+ Request request = new Request(HttpPost.METHOD_NAME, endpoint);
|
|
|
+ Params params = new Params()
|
|
|
+ .withRouting(deleteByQueryRequest.getRouting())
|
|
|
+ .withRefresh(deleteByQueryRequest.isRefresh())
|
|
|
+ .withTimeout(deleteByQueryRequest.getTimeout())
|
|
|
+ .withWaitForActiveShards(deleteByQueryRequest.getWaitForActiveShards())
|
|
|
+ .withRequestsPerSecond(deleteByQueryRequest.getRequestsPerSecond())
|
|
|
+ .withIndicesOptions(deleteByQueryRequest.indicesOptions())
|
|
|
+ .withWaitForCompletion(waitForCompletion);
|
|
|
+ if (deleteByQueryRequest.isAbortOnVersionConflict() == false) {
|
|
|
+ params.putParam("conflicts", "proceed");
|
|
|
+ }
|
|
|
+ if (deleteByQueryRequest.getBatchSize() != AbstractBulkByScrollRequest.DEFAULT_SCROLL_SIZE) {
|
|
|
+ params.putParam("scroll_size", Integer.toString(deleteByQueryRequest.getBatchSize()));
|
|
|
+ }
|
|
|
+ if (deleteByQueryRequest.getScrollTime() != AbstractBulkByScrollRequest.DEFAULT_SCROLL_TIMEOUT) {
|
|
|
+ params.putParam("scroll", deleteByQueryRequest.getScrollTime());
|
|
|
+ }
|
|
|
+ if (deleteByQueryRequest.getMaxDocs() > 0) {
|
|
|
+ params.putParam("max_docs", Integer.toString(deleteByQueryRequest.getMaxDocs()));
|
|
|
+ }
|
|
|
+ request.addParameters(params.asMap());
|
|
|
+ request.setEntity(createEntity(deleteByQueryRequest, REQUEST_BODY_CONTENT_TYPE));
|
|
|
+ return request;
|
|
|
+ }
|
|
|
+
|
|
|
static Request updateByQuery(UpdateByQueryRequest updateByQueryRequest) throws IOException {
|
|
|
String endpoint = endpoint(updateByQueryRequest.indices(), "_update_by_query");
|
|
|
Request request = new Request(HttpPost.METHOD_NAME, endpoint);
|
|
|
@@ -593,30 +626,7 @@ final class RequestConverters {
|
|
|
}
|
|
|
|
|
|
static Request deleteByQuery(DeleteByQueryRequest deleteByQueryRequest) throws IOException {
|
|
|
- String endpoint = endpoint(deleteByQueryRequest.indices(), "_delete_by_query");
|
|
|
- Request request = new Request(HttpPost.METHOD_NAME, endpoint);
|
|
|
- Params params = new Params()
|
|
|
- .withRouting(deleteByQueryRequest.getRouting())
|
|
|
- .withRefresh(deleteByQueryRequest.isRefresh())
|
|
|
- .withTimeout(deleteByQueryRequest.getTimeout())
|
|
|
- .withWaitForActiveShards(deleteByQueryRequest.getWaitForActiveShards())
|
|
|
- .withRequestsPerSecond(deleteByQueryRequest.getRequestsPerSecond())
|
|
|
- .withIndicesOptions(deleteByQueryRequest.indicesOptions());
|
|
|
- if (deleteByQueryRequest.isAbortOnVersionConflict() == false) {
|
|
|
- params.putParam("conflicts", "proceed");
|
|
|
- }
|
|
|
- if (deleteByQueryRequest.getBatchSize() != AbstractBulkByScrollRequest.DEFAULT_SCROLL_SIZE) {
|
|
|
- params.putParam("scroll_size", Integer.toString(deleteByQueryRequest.getBatchSize()));
|
|
|
- }
|
|
|
- if (deleteByQueryRequest.getScrollTime() != AbstractBulkByScrollRequest.DEFAULT_SCROLL_TIMEOUT) {
|
|
|
- params.putParam("scroll", deleteByQueryRequest.getScrollTime());
|
|
|
- }
|
|
|
- if (deleteByQueryRequest.getMaxDocs() > 0) {
|
|
|
- params.putParam("max_docs", Integer.toString(deleteByQueryRequest.getMaxDocs()));
|
|
|
- }
|
|
|
- request.addParameters(params.asMap());
|
|
|
- request.setEntity(createEntity(deleteByQueryRequest, REQUEST_BODY_CONTENT_TYPE));
|
|
|
- return request;
|
|
|
+ return prepareDeleteByQueryRequest(deleteByQueryRequest, true);
|
|
|
}
|
|
|
|
|
|
static Request rethrottleReindex(RethrottleRequest rethrottleRequest) {
|