Class DeleteByQueryRequest

All Implemented Interfaces:
IndicesRequest, IndicesRequest.Replaceable, Writeable, org.elasticsearch.common.xcontent.ToXContent, org.elasticsearch.common.xcontent.ToXContentObject, org.elasticsearch.core.RefCounted, TaskAwareRequest

public class DeleteByQueryRequest extends AbstractBulkByScrollRequest<DeleteByQueryRequest> implements IndicesRequest.Replaceable, org.elasticsearch.common.xcontent.ToXContentObject
Creates a new DeleteByQueryRequest 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.
  • Constructor Details

    • DeleteByQueryRequest

      public DeleteByQueryRequest()
    • DeleteByQueryRequest

      public DeleteByQueryRequest(... indices)
    • DeleteByQueryRequest

      public DeleteByQueryRequest(StreamInput in) throws
      Throws:
  • Method Details

    • setQuery

      public DeleteByQueryRequest setQuery(QueryBuilder query)
      Set the query for selective delete
    • setDocTypes

      public ... types)
      Deprecated.
      Types are in the process of being removed. Instead of using a type, prefer to filter on a field of the document.
      Set the document types for the delete
    • setRouting

      public  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  getRouting()
      Gets the routing value used for this request
    • getDocTypes

      public [] getDocTypes()
      Deprecated.
      Types are in the process of being removed. Instead of using a type, prefer to filter on a field of the document.
      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 class AbstractBulkByScrollRequest<DeleteByQueryRequest>
    • validate

      Overrides:
      validate in class AbstractBulkByScrollRequest<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 class AbstractBulkByScrollRequest<DeleteByQueryRequest>
    • toString

      public  toString()
      Overrides:
      toString in class TransportRequest
    • indices

      public ... indices)
      Description copied from interface: IndicesRequest.Replaceable
      Sets the indices that the action relates to.
      Specified by:
      indices in interface IndicesRequest.Replaceable
    • indices

      public [] indices()
      Description copied from interface: IndicesRequest
      Returns the array of indices that the action relates to
      Specified by:
      indices in interface IndicesRequest
    • 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 interface IndicesRequest
    • types

      public [] types()
      Deprecated.
      Types are in the process of being removed. Instead of using a type, prefer to filter on a field of the document.
      Gets the document types on which this request would be executed.
    • types

      public ... types)
      Deprecated.
      Types are in the process of being removed. Instead of using a type, prefer to filter on a field of the document.
      Set the document types for the delete
    • toXContent

      public org.elasticsearch.common.xcontent.XContentBuilder toXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws
      Specified by:
      toXContent in interface org.elasticsearch.common.xcontent.ToXContent
      Throws: