--Collect over 2000 records--
This is a common issue. Unfortunately due to delegation issues specific to SharePoint list the search function is not delegable. You can use the function startswith(). However for most people that is not exact solution there looking for.
You can use a clearcollect() to collect in a local cashed table in PowerApps. This will only bring in the first 2000 record. There is a work around...
Basically you will do a filter 2 only show the first 2000 records and put that into a collection. Then you will collect the next 2000 records and so on. Each of these collections must have a different name. Once you have all the collections you can do a clearcollect() on all of the collections you make one massive table. You then will not have any delegation issues when referencing the local collection/table.
Here's an example:
Step 1.)
Concurrent(
ClearCollect(CollectionA,Filter(NameofTable,ID#<2000)),
ClearCollect(CollectionB,Filter(NameofTable,ID# >=2000 And ID<4000)),
ClearCollect(CollectionC,Filter(NameofTable,ID# >=4000 And ID<6000)),
ClearCollect(CollectionD,Filter(NameofTable,ID# >=6000 And ID<8000)),
ClearCollect(CollectionE,Filter(NameofTable,ID# >=8000 And ID<10000)),
ClearCollect(CollectionF,Filter(NameofTable,ID# >=10000 And ID<12000)),
ClearCollect(CollectionG,Filter(NameofTable,ID# >=12000 And ID<14000)),
ClearCollect(CollectionH,Filter(NameofTable,ID# >=14000 And ID<16000))
)
Step 2.)
Then Collect your Collections together=)
;ClearCollect(NameofCollection,CollectionA,CollectionB,CollectionC,CollectionD,CollectionE,CollectionF,CollectionG,CollectionH)
You should now be able to Filter your NameofCollection with all 15000 records. It just takes a bit of preloading first to get there.