I want to use snapshot repositories to implement the archiving function of datastream streams

I want to leverage the snapshot repository in ES 8.18 to implement the archiving of the datastream. By saving the data to the object storage service, it enables restoration when needed.
Suppose there are 10 indexes in a datastream. When I restore the snapshot to the current cluster, I hope to be able to selectively restore some of the indexes instead of restoring the entire datastream. This is because some indexes already exist in the current datastream. Restoring all of them will not only take a significant amount of time but also recover some data that I don't need.
In ES 8.18, is there a way to specify that only some indexes in the datastream are restored during the restoration process? For example, only 5 of the indexes are restored. If it is possible, how should I operate specifically? In addition, after restoring some indexes, will these indexes be added to the existing datastream, or will a new datastream be created?

Hello,

Yes, as per my understanding you can selectively restore specific indices from a snapshot without restoring the entire data stream.

POST /_snapshot/my_repo/my_snapshot/_restore
{
  "indices": "index_1,index_2,index_3,index_4,index_5",  // Specify the indices you want to restore
  "ignore_unavailable": true,  // Optional: Ignore unavailable indices
  "include_global_state": false  // Optional: Do not restore global state
}

Thanks!!