Class IndexRequest<TDocument>

java.lang.Object
co.elastic.clients.elasticsearch._types.RequestBase
co.elastic.clients.elasticsearch.core.IndexRequest<TDocument>
All Implemented Interfaces:
JsonpSerializable

@JsonpDeserializable public class IndexRequest<TDocument> extends RequestBase implements JsonpSerializable
Adds a JSON document to the specified data stream or index and makes it searchable. If the target is an index and the document already exists, the request updates the document and increments its version.
See Also:
  • Field Details

  • Method Details

    • of

      public static <TDocument> IndexRequest<TDocument> of(Function<IndexRequest.Builder<TDocument>,ObjectBuilder<IndexRequest<TDocument>>> fn)
    • id

      @Nullable public final String id()
      Unique identifier for the document.

      API name: id

    • ifPrimaryTerm

      @Nullable public final Long ifPrimaryTerm()
      Only perform the operation if the document has this primary term.

      API name: if_primary_term

    • ifSeqNo

      @Nullable public final Long ifSeqNo()
      Only perform the operation if the document has this sequence number.

      API name: if_seq_no

    • index

      public final String index()
      Required - Name of the data stream or index to target.

      API name: index

    • opType

      @Nullable public final OpType opType()
      Set to create to only index the document if it does not already exist (put if absent). If a document with the specified _id already exists, the indexing operation will fail. Same as using the <index>/_create endpoint. Valid values: index, create. If document id is specified, it defaults to index. Otherwise, it defaults to create.

      API name: op_type

    • pipeline

      @Nullable public final String pipeline()
      ID of the pipeline to use to preprocess incoming documents. If the index has a default ingest pipeline specified, then setting the value to _none disables the default ingest pipeline for this request. If a final pipeline is configured it will always run, regardless of the value of this parameter.

      API name: pipeline

    • refresh

      @Nullable public final Refresh refresh()
      If true, Elasticsearch refreshes the affected shards to make this operation visible to search, if wait_for then wait for a refresh to make this operation visible to search, if false do nothing with refreshes. Valid values: true, false, wait_for.

      API name: refresh

    • requireAlias

      @Nullable public final Boolean requireAlias()
      If true, the destination must be an index alias.

      API name: require_alias

    • routing

      @Nullable public final String routing()
      Custom value used to route operations to a specific shard.

      API name: routing

    • timeout

      @Nullable public final Time timeout()
      Period the request waits for the following operations: automatic index creation, dynamic mapping updates, waiting for active shards.

      API name: timeout

    • version

      @Nullable public final Long version()
      Explicit version number for concurrency control. The specified version must match the current version of the document for the request to succeed.

      API name: version

    • versionType

      @Nullable public final VersionType versionType()
      Specific version type: external, external_gte.

      API name: version_type

    • waitForActiveShards

      @Nullable public final WaitForActiveShards waitForActiveShards()
      The number of shard copies that must be active before proceeding with the operation. Set to all or any positive integer up to the total number of shards in the index (number_of_replicas+1).

      API name: wait_for_active_shards

    • document

      public final TDocument document()
      Required - Request body.
    • serialize

      public void serialize(jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper)
      Serialize this value to JSON.
      Specified by:
      serialize in interface JsonpSerializable
    • createIndexRequestDeserializer

      public static <TDocument> JsonpDeserializer<IndexRequest<TDocument>> createIndexRequestDeserializer(JsonpDeserializer<TDocument> tDocumentDeserializer)