Best way to index large amount of data

GSI indexes order of keys are important. If predicate has leading index keys missing it needs to scan most of the index.
If you create single filed indexes, multiple predicates can’t push to indexer.

Checkout FTS index if you need to filter based on different fields.