Configurations, multiple indexes

Recoll supports defining multiple indexes.

Each index is defined by its own configuration directory, in which several configuration files describe what should be indexed and how.

A default personal configuration directory ($HOME/.recoll/) is created when a Recoll program is first executed. This configuration is the one used for indexing and querying when no specific configuration is specified.

All configuration parameters have defaults, defined in system-wide files. Without further customisation, the default configuration will process your complete home directory, with a reasonable set of defaults. It can be changed to process a different area of the file system, select files in different ways, and many other things.

In some cases, it may be interesting, for example, to index different areas of the file system into separate indexes, or use different options. You can do this by creating additional configuration directories.

Examples of usage would be to separate personal and shared indexes, or to take advantage of the organization of your data to improve search precision.

A specific configuration can be selected by setting the RECOLL_CONFDIR environment variable, or giving the -c option to any of the Recoll commands.

When generating indexes, the different configurations are entirely independant (no parameters are ever shared between configurations when indexing).

Multiple indexes can queryied concurrently, either from the GUI or the command line. When doing this, there is always a main configuration, from which both configuration and index data are used. Only the index data from the additional indexes is used (their configuration parameters are ignored).

This is important and sometimes confusing, so it will be rephrased here: for index generation, multiple configurations are totally independant from each other. When querying, configuration and data are used from the main index (the one designated by -c or RECOLL_CONFDIR), and only the data from the additional indexes is used. This also implies that some parameters should be consistent among the configurations for indexes which are to be used together.