There are some large installations out there using ke_search with tens of thousands of records in the index. The indexing time can be quite long for those installations.
For those installations it would be nice to have the possibility to run the indexers in "incremental mode", so that only changes since the last index run will be indexed.
It should be quite easy to find and index new and changed records:
Fetch all records (eg. pages, news) with modification time greater than timestamp of the last indexing
Index those records
Do not run the cleanup step since this would delete all other indexed records
A bit more of a challenge will be to find the deleted records and delete them from the index as well. Maybe use a backend hook and write deleted records to a queue and process those records in next incremental indexing?
Every indexer which supports incremental indexing will have to have dedicated method for that, eg. "startIncrementalIndexing" in addtion to "startIndexing".
There are some large installations out there using ke_search with tens of thousands of records in the index. The indexing time can be quite long for those installations.
For those installations it would be nice to have the possibility to run the indexers in "incremental mode", so that only changes since the last index run will be indexed.
It should be quite easy to find and index new and changed records:
A bit more of a challenge will be to find the deleted records and delete them from the index as well. Maybe use a backend hook and write deleted records to a queue and process those records in next incremental indexing?
Every indexer which supports incremental indexing will have to have dedicated method for that, eg. "startIncrementalIndexing" in addtion to "startIndexing".