Interface DocWriteRequest<T>

All Superinterfaces:
org.apache.lucene.util.Accountable, IndicesRequest
All Known Implementing Classes:
DeleteRequest, IndexRequest, UpdateRequest

public interface DocWriteRequest<T> extends IndicesRequest, org.apache.lucene.util.Accountable
Generic interface to group ActionRequest, which perform writes to a single document Action requests implementing this can be part of BulkRequest
  • Field Details

  • Method Details

    • index

      T index(String index)
      Set the index for this request
      Returns:
      the Request
    • index

      String index()
      Get the index that this request operates on
      Returns:
      the index
    • id

      String id()
      Get the id of the document for this request
      Returns:
      the id
    • indicesOptions

      IndicesOptions indicesOptions()
      Get the options for this request
      Specified by:
      indicesOptions in interface IndicesRequest
      Returns:
      the indices options
    • routing

      T routing(String routing)
      Set the routing for this request
      Returns:
      the Request
    • routing

      String routing()
      Get the routing for this request
      Returns:
      the Routing
    • version

      long version()
      Get the document version for this request
      Returns:
      the document version
    • version

      T version(long version)
      Sets the version, which will perform the operation only if a matching version exists and no changes happened on the doc since then.
    • versionType

      VersionType versionType()
      Get the document version type for this request
      Returns:
      the document version type
    • versionType

      T versionType(VersionType versionType)
      Sets the versioning type. Defaults to VersionType.INTERNAL.
    • setIfSeqNo

      T setIfSeqNo(long seqNo)
      only perform this request if the document was last modification was assigned the given sequence number. Must be used in combination with setIfPrimaryTerm(long) If the document last modification was assigned a different sequence number a VersionConflictEngineException will be thrown.
    • setIfPrimaryTerm

      T setIfPrimaryTerm(long term)
      only performs this request if the document was last modification was assigned the given primary term. Must be used in combination with setIfSeqNo(long) If the document last modification was assigned a different term a VersionConflictEngineException will be thrown.
    • ifSeqNo

      long ifSeqNo()
      If set, only perform this request if the document was last modification was assigned this sequence number. If the document last modification was assigned a different sequence number a VersionConflictEngineException will be thrown.
    • ifPrimaryTerm

      long ifPrimaryTerm()
      If set, only perform this request if the document was last modification was assigned this primary term. If the document last modification was assigned a different term a VersionConflictEngineException will be thrown.
    • opType

      Get the requested document operation type of the request
      Returns:
      the operation type DocWriteRequest.OpType
    • isRequireAlias

      boolean isRequireAlias()
      Should this request override specifically require the destination to be an alias?
      Returns:
      boolean flag, when true specifically requires an alias
    • process

      void process()
      Finalize the request before executing or routing it.
    • route

      int route(IndexRouting indexRouting)
      Pick the appropriate shard id to receive this request.
    • getConcreteWriteIndex

      default Index getConcreteWriteIndex(IndexAbstraction ia, Metadata metadata)
      Resolves the write index that should receive this request based on the provided index abstraction.
      Parameters:
      ia - The provided index abstraction
      metadata - The metadata instance used to resolve the write index.
      Returns:
      the write index that should receive this request
    • readDocumentRequest

      static DocWriteRequest<?> readDocumentRequest(@Nullable ShardId shardId, StreamInput in) throws IOException
      Read a document write (index/delete/update) request
      Parameters:
      shardId - shard id of the request. null when reading as part of a BulkRequest that does not have a unique shard id.
      Throws:
      IOException
    • writeDocumentRequest

      static void writeDocumentRequest(StreamOutput out, DocWriteRequest<?> request) throws IOException
      write a document write (index/delete/update) request
      Throws:
      IOException
    • writeDocumentRequestThin

      static void writeDocumentRequestThin(StreamOutput out, DocWriteRequest<?> request) throws IOException
      write a document write (index/delete/update) request without shard id
      Throws:
      IOException
    • validateSeqNoBasedCASParams

      static ActionRequestValidationException validateSeqNoBasedCASParams(DocWriteRequest<?> request, ActionRequestValidationException validationException)