This change adds the possibility to run queries over more than one database by pointing the program at extra recoll configuration directories using the
RECOLL_EXTRACONFDIRS environment variable. This variable can contain space-separated Recoll configuration directories (i.e. directories which contain
recoll.conf) which are parsed to find out the indexed
topdirs and the location of the database directory. The topdirs are added to the directory tree, the databases are added to the
extradbs list. When running a query over the entire tree (using
<all>, the default) all databases are searched. When the query is limited to a subdirectory the searched set is limited to only those databases which cover the related topdir, thus reducing search time and overhead.
The raison d'être for this change is to allow the web interface to be used to search a large index split over several databases, e.g. fiction, nonfiction and audio. This in turn is used in the recoll engine for the Searx meta-search engine, see https://github.com/asciimoo/searx/pull/1257 .
This is a further development of an earlier change I submitted to Github, most of which was merged but for a part related to the use of extra database directories.