Indexing modes

Recoll indexing can be performed along two main modes:

  • Periodic (or batch) indexing: indexing takes place at discrete times, by executing the recollindex command. The typical usage is to have a nightly indexing run programmed into your cron file.

  • Real time indexing: indexing takes place as soon as a file is created or changed. recollindex runs as a daemon and uses a file system alteration monitor (e.g. inotify) to detect file changes.

The choice between the two methods is mostly a matter of preference, and they can be combined by setting up multiple indexes (ie: use periodic indexing on a big documentation directory, and real time indexing on a small home directory). Monitoring a big file system tree can consume significant system resources.

With Recoll 1.25 and newer, it is also possible to set up an index so that only a subset of the tree will be monitored and the rest will be covered by batch/incremental indexing. (See the details in the Real time indexing section.

The choice of method and the parameters used can be configured from the recoll GUI: PreferencesIndexing schedule

The File menu also has entries to start or stop the current indexing operation. Stopping indexing is performed by killing the recollindex process, which will checkpoint its state and exit. A later restart of indexing will mostly resume from where things stopped (the file tree walk has to be restarted from the beginning).

When the real time indexer is running, two operations are available from the menu: 'Stop' and 'Trigger incremental pass'. When no indexing is running, you have a choice of updating the index or rebuilding it (the first choice only processes changed files, the second one zeroes the index before starting so that all files are processed).