Enterprise search rebuild all vs net change

So in enterprise search in v10.2 is there a way to just run a scheduled task lets say every hour that just captures only the changes that take effect from the last index? For example, run a task every hour with just the changes of records in the index and run another task daily/weekly that indexes all records again? I am currently up to about 2 million records across 11 companies and we are just going to be adding more companies soon. OR is there no way to do this and every time the task runs it just re-creates the index so I am stuck decreasing my rebuild frequency in a single task that runs daily or weekly? It seems like if I create the canned task it adds an argument at the end “RUNINDEXER /s:Rebuild_All” but if I make my own task the help files say to use “RUNINDEXER /s:indexname” where indexname is the search index name. I have ran this with both arguments but they seem to take the same amount of time to run so I don’t know if this is really doing anything different.

I’ve never heard of just running changes with Enterprise Search and I can’t see how they would do this without CDC or Temporal Tables in SQL. It seems like an easier solution would just be to use Elasticsearch or Azure Search and stream the data from the db. Then you wouldn’t have to rebuilt the indexes unless the stream was dropped for some reason.