Transforms can be configured to search incredibly broad index patterns. These cause the lower level actions used by transforms to iterate huge numbers of shards unless measures are taken to restrict which shards are considered using information available in cluster state.

Anywhere where transforms calls an action that iterates shards it must use the `index_filter` functionality of that action to reduce scope. Calls to be changed:

- [x] Field caps
- [x] Creating PIT readers - requires #99740 be implemented as a pre-requisite
x-pack/plugin/transform/src/main/java/org/elasticsearch/xpack/transform/transforms/ClientTransformIndexer.java
import org.elasticsearch.xpack.core.transform.utils.ExceptionsHelper;
import org.elasticsearch.xpack.transform.TransformServices;
import org.elasticsearch.xpack.transform.checkpoint.CheckpointProvider;
import org.elasticsearch.xpack.transform.persistence.SeqNoPrimaryTermAndIndex;
import org.elasticsearch.xpack.transform.transforms.pivot.SchemaUtil;
import org.elasticsearch.xpack.transform.utils.ExceptionRootCauseFinder;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
import static org.elasticsearch.core.Strings.format;
class ClientTransformIndexer extends TransformIndexer {
    private static final TimeValue PIT_KEEP_ALIVE = TimeValue.timeValueSeconds(30);
    private static final Logger logger = LogManager.getLogger(ClientTransformIndexer.class);
    private final ParentTaskAssigningClient client;
    private final AtomicBoolean oldStatsCleanedUp = new AtomicBoolean(false);
    private final AtomicReference<SeqNoPrimaryTermAndIndex> seqNoPrimaryTermAndIndexHolder;
    private final ConcurrentHashMap<String, PointInTimeBuilder> namedPits = new ConcurrentHashMap<>();
    private volatile long pitCheckpoint;
    private volatile boolean disablePit = false;
    ClientTransformIndexer(
        ThreadPool threadPool,
        TransformServices transformServices,
        CheckpointProvider checkpointProvider,
        AtomicReference<IndexerState> initialState,
        TransformIndexerPosition initialPosition,
        ParentTaskAssigningClient client,
        TransformIndexerStats initialStats,