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 newDeleteByQueryRequest
that 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-time
snapshot, 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
Modifier and Type Method Description DeleteByQueryRequest
forSlice(TaskId slicingTask, SearchRequest slice, int totalSlices)
Build a new request for a slice of the parent request.int
getBatchSize()
Gets the batch size for this requestjava.lang.String[]
getDocTypes()
Gets the document types on which this request would be executed.java.lang.String
getRouting()
Gets the routing value used for this requestjava.lang.String[]
indices()
Returns the array of indices that the action relates toIndicesRequest
indices(java.lang.String... indices)
Sets the indices that the action relates to.IndicesOptions
indicesOptions()
Returns the indices options used to resolve indices.protected DeleteByQueryRequest
self()
`this` cast to Self.DeleteByQueryRequest
setBatchSize(int size)
The scroll size to control number of documents processed per batchDeleteByQueryRequest
setDocTypes(java.lang.String... types)
Set the document types for the deleteDeleteByQueryRequest
setIndicesOptions(IndicesOptions indicesOptions)
Set the IndicesOptions for controlling unavailable indicesDeleteByQueryRequest
setQuery(QueryBuilder query)
Set the query for selective deleteDeleteByQueryRequest
setRouting(java.lang.String routing)
Set routing limiting the process to the shards that match that routing valuejava.lang.String
toString()
XContentBuilder
toXContent(XContentBuilder builder, ToXContent.Params params)
java.lang.String[]
types()
DeleteByQueryRequest
types(java.lang.String... types)
ActionRequestValidationException
validate()
-
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:
self
in classAbstractBulkByScrollRequest<DeleteByQueryRequest>
-
validate
public ActionRequestValidationException validate()
- Overrides:
validate
in classAbstractBulkByScrollRequest<DeleteByQueryRequest>
-
forSlice
public DeleteByQueryRequest forSlice(TaskId slicingTask, SearchRequest slice, int totalSlices)
Description copied from class:AbstractBulkByScrollRequest
Build a new request for a slice of the parent request.- Specified by:
forSlice
in classAbstractBulkByScrollRequest<DeleteByQueryRequest>
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
indices
public IndicesRequest indices(java.lang.String... indices)
Description copied from interface:IndicesRequest.Replaceable
Sets the indices that the action relates to.- Specified by:
indices
in interfaceIndicesRequest.Replaceable
-
indices
public java.lang.String[] indices()
Description copied from interface:IndicesRequest
Returns the array of indices that the action relates to- Specified by:
indices
in interfaceIndicesRequest
-
indicesOptions
public IndicesOptions indicesOptions()
Description copied from interface:IndicesRequest
Returns 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:
indicesOptions
in 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:
toXContent
in interfaceToXContent
- Throws:
java.io.IOException
-
-