Reindex legacy backing indices Generally available; Added in 8.18.0

POST /_migration/reindex

Reindex all legacy backing indices for a data stream. This operation occurs in a persistent task. The persistent task ID is returned immediately and the reindexing work is completed in that task.

About reindexing data streams
application/json

Body Required

  • mode string Required

    Reindex mode. Currently only 'upgrade' is supported.

    Value is upgrade.

  • source object Required

    The source index or data stream (only data streams are currently supported).

    Hide source attribute Show source attribute object
    • index string Required

Responses

  • 200 application/json
    Hide response attribute Show response attribute object
    • acknowledged boolean Required

      For a successful response, this value is always true. On failure, an exception is returned instead.

POST /_migration/reindex
POST _migration/reindex
{
    "source": {
        "index": "my-data-stream"
    },
    "mode": "upgrade"
}
resp = client.indices.migrate_reindex(
    reindex={
        "source": {
            "index": "my-data-stream"
        },
        "mode": "upgrade"
    },
)
const response = await client.indices.migrateReindex({
  reindex: {
    source: {
      index: "my-data-stream",
    },
    mode: "upgrade",
  },
});
response = client.indices.migrate_reindex(
  body: {
    "source": {
      "index": "my-data-stream"
    },
    "mode": "upgrade"
  }
)
$requestFactory = Psr17FactoryDiscovery::findRequestFactory();
$streamFactory = Psr17FactoryDiscovery::findStreamFactory();
$request = $requestFactory->createRequest(
    "POST",
    "/_migration/reindex",
);
$request = $request->withHeader("Content-Type", "application/json");
$request = $request->withBody($streamFactory->createStream(
    json_encode([
        "source" => [
            "index" => "my-data-stream",
        ],
        "mode" => "upgrade",
    ]),
));
$resp = $client->sendRequest($request);
curl -X POST -H "Authorization: ApiKey $ELASTIC_API_KEY" -H "Content-Type: application/json" -d '{"source":{"index":"my-data-stream"},"mode":"upgrade"}' "$ELASTICSEARCH_URL/_migration/reindex"
using Elastic.Clients.Elasticsearch.IndexManagement;

MigrateReindexRequest request = new MigrateReindexRequestDescriptor()
    .Reindex(d1 => d1
        .Mode(ModeEnum.Upgrade)
        .Source(d2 => d2
            .Index("my-data-stream")
        )
    );
client.indices().migrateReindex(m -> m
    .reindex(r -> r
        .mode(ModeEnum.Upgrade)
        .source(s -> s
            .index("my-data-stream")
        )
    )
);
Request example
An example body for a `POST _migration/reindex` request.
{
    "source": {
        "index": "my-data-stream"
    },
    "mode": "upgrade"
}