Package org.elasticsearch.index.reindex
Class DeleteByQueryRequest
- java.lang.Object
-
- org.elasticsearch.transport.TransportMessage
-
- org.elasticsearch.transport.TransportRequest
-
- org.elasticsearch.action.ActionRequest
-
- org.elasticsearch.index.reindex.AbstractBulkByScrollRequest<DeleteByQueryRequest>
-
- org.elasticsearch.index.reindex.DeleteByQueryRequest
-
- All Implemented Interfaces:
IndicesRequest,IndicesRequest.Replaceable,Streamable,Writeable,ToXContent,ToXContentObject,TaskAwareRequest
public class DeleteByQueryRequest extends AbstractBulkByScrollRequest<DeleteByQueryRequest> implements IndicesRequest.Replaceable, ToXContentObject
Creates a newDeleteByQueryRequestthat uses scrolling and bulk requests to delete all documents matching the query. This can have performance as well as visibility implications. Delete-by-query now has the following semantics:- it's
non-atomic, a delete-by-query may fail at any time while some documents matching the query have already been deleted - it's
syntactic sugar, a delete-by-query is equivalent to a scroll search and corresponding bulk-deletes by ID - it's executed on a
point-in-timesnapshot, a delete-by-query will only delete the documents that are visible at the point in time the delete-by-query was started, equivalent to the scroll API - it's
consistent, a delete-by-query will yield consistent results across all replicas of a shard - it's
forward-compatible, a delete-by-query will only send IDs to the shards as deletes such that no queries are stored in the transaction logs that might not be supported in the future. - it's results won't be visible until the index is refreshed.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.elasticsearch.transport.TransportRequest
TransportRequest.Empty
-
Nested classes/interfaces inherited from interface org.elasticsearch.action.IndicesRequest
IndicesRequest.Replaceable
-
Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
ToXContent.DelegatingMapParams, ToXContent.MapParams, ToXContent.Params
-
Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V>
-
-
Field Summary
-
Fields inherited from class org.elasticsearch.index.reindex.AbstractBulkByScrollRequest
AUTO_SLICES, AUTO_SLICES_VALUE, DEFAULT_SCROLL_SIZE, DEFAULT_SCROLL_TIMEOUT, SIZE_ALL_MATCHES
-
Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS
-
-
Constructor Summary
Constructors Constructor Description DeleteByQueryRequest()DeleteByQueryRequest(java.lang.String... indices)DeleteByQueryRequest(StreamInput in)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DeleteByQueryRequestforSlice(TaskId slicingTask, SearchRequest slice, int totalSlices)Build a new request for a slice of the parent request.intgetBatchSize()Gets the batch size for this requestjava.lang.String[]getDocTypes()Gets the document types on which this request would be executed.java.lang.StringgetRouting()Gets the routing value used for this requestjava.lang.String[]indices()Returns the array of indices that the action relates toIndicesRequestindices(java.lang.String... indices)Sets the indices that the action relates to.IndicesOptionsindicesOptions()Returns the indices options used to resolve indices.protected DeleteByQueryRequestself()`this` cast to Self.DeleteByQueryRequestsetBatchSize(int size)The scroll size to control number of documents processed per batchDeleteByQueryRequestsetDocTypes(java.lang.String... types)Set the document types for the deleteDeleteByQueryRequestsetIndicesOptions(IndicesOptions indicesOptions)Set the IndicesOptions for controlling unavailable indicesDeleteByQueryRequestsetQuery(QueryBuilder query)Set the query for selective deleteDeleteByQueryRequestsetRouting(java.lang.String routing)Set routing limiting the process to the shards that match that routing valuejava.lang.StringtoString()XContentBuildertoXContent(XContentBuilder builder, ToXContent.Params params)java.lang.String[]types()DeleteByQueryRequesttypes(java.lang.String... types)ActionRequestValidationExceptionvalidate()-
Methods inherited from class org.elasticsearch.index.reindex.AbstractBulkByScrollRequest
createTask, doForSlice, getDescription, getMaxRetries, getRequestsPerSecond, getRetryBackoffInitialTime, getScrollTime, getSearchRequest, getShouldStoreResult, getSize, getSlices, getTimeout, getWaitForActiveShards, isAbortOnVersionConflict, isRefresh, readFrom, searchToString, setAbortOnVersionConflict, setConflicts, setMaxRetries, setRefresh, setRequestsPerSecond, setRetryBackoffInitialTime, setScroll, setShouldStoreResult, setSize, setSlices, setTimeout, setTimeout, setWaitForActiveShards, setWaitForActiveShards, writeTo
-
Methods inherited from class org.elasticsearch.transport.TransportRequest
getParentTask, setParentTask
-
Methods inherited from class org.elasticsearch.transport.TransportMessage
remoteAddress, remoteAddress
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.elasticsearch.tasks.TaskAwareRequest
setParentTask
-
Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentObject
isFragment
-
-
-
-
Constructor Detail
-
DeleteByQueryRequest
public DeleteByQueryRequest()
-
DeleteByQueryRequest
public DeleteByQueryRequest(java.lang.String... indices)
-
DeleteByQueryRequest
public DeleteByQueryRequest(StreamInput in) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
setQuery
public DeleteByQueryRequest setQuery(QueryBuilder query)
Set the query for selective delete
-
setDocTypes
public DeleteByQueryRequest setDocTypes(java.lang.String... types)
Set the document types for the delete
-
setRouting
public DeleteByQueryRequest setRouting(java.lang.String routing)
Set routing limiting the process to the shards that match that routing value
-
setBatchSize
public DeleteByQueryRequest setBatchSize(int size)
The scroll size to control number of documents processed per batch
-
setIndicesOptions
public DeleteByQueryRequest setIndicesOptions(IndicesOptions indicesOptions)
Set the IndicesOptions for controlling unavailable indices
-
getBatchSize
public int getBatchSize()
Gets the batch size for this request
-
getRouting
public java.lang.String getRouting()
Gets the routing value used for this request
-
getDocTypes
public java.lang.String[] getDocTypes()
Gets the document types on which this request would be executed. Returns an empty array if all types are to be processed.
-
self
protected DeleteByQueryRequest self()
Description copied from class:AbstractBulkByScrollRequest`this` cast to Self. Used for building fluent methods without cast warnings.- Specified by:
selfin classAbstractBulkByScrollRequest<DeleteByQueryRequest>
-
validate
public ActionRequestValidationException validate()
- Overrides:
validatein classAbstractBulkByScrollRequest<DeleteByQueryRequest>
-
forSlice
public DeleteByQueryRequest forSlice(TaskId slicingTask, SearchRequest slice, int totalSlices)
Description copied from class:AbstractBulkByScrollRequestBuild a new request for a slice of the parent request.- Specified by:
forSlicein classAbstractBulkByScrollRequest<DeleteByQueryRequest>
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
indices
public IndicesRequest indices(java.lang.String... indices)
Description copied from interface:IndicesRequest.ReplaceableSets the indices that the action relates to.- Specified by:
indicesin interfaceIndicesRequest.Replaceable
-
indices
public java.lang.String[] indices()
Description copied from interface:IndicesRequestReturns the array of indices that the action relates to- Specified by:
indicesin interfaceIndicesRequest
-
indicesOptions
public IndicesOptions indicesOptions()
Description copied from interface:IndicesRequestReturns the indices options used to resolve indices. They tell for instance whether a single index is accepted, whether an empty array will be converted to _all, and how wildcards will be expanded if needed.- Specified by:
indicesOptionsin interfaceIndicesRequest
-
types
public java.lang.String[] types()
-
types
public DeleteByQueryRequest types(java.lang.String... types)
-
toXContent
public XContentBuilder toXContent(XContentBuilder builder, ToXContent.Params params) throws java.io.IOException
- Specified by:
toXContentin interfaceToXContent- Throws:
java.io.IOException
-
-