Hi all,
It has been a long standing issue that file search in Nautilus (and GNOME Shell) only have a fast index for XDG folders in a recursive manner, and has to resort to in-place crawling when search happens in other locations, this is both slower and inferior in features (e.g. no content search).
In order to improve the search experience, there are two changes lined up in LocalSearch for GNOME 50:
- Indexing the home directory recursively by default.
- Making indexed data for removable devices stored perennially in the devices. This is kept turned off at the moment.
The intent behind these is having an index for fast filesystem search available more universally, with less places where it does make sense to fallback into the in-place recursive crawling. These changes are not happening casually, and a list of improvements too long to summarize here has happened over the last few years to accommodate for the extra workload.
There is still a number of filters in effect so that LocalSearch doesn’t go unhinged on the filesystem, git repositories are still ignored, as well as directories with a .nomedia file, and only a few selected plain/text file extensions get their content indexed. A higher workload is expected, but not substantially so, compared to using XDG folders methodically.
Users that might find the new behavior undesirable have a plethora of mechanisms to avoid it, from .nomedia files, to configuration changes, to inhibiting the indexer.
We intend to merge these changes early after 3.10.x (GNOME 49) is branched. If you want to test the first change in advance, you can do:
$ gsettings set org.freedesktop.Tracker3.Miner.Files index-single-directories "[]"
$ gsettings set org.freedesktop.Tracker3.Miner.Files index-recursive-directories "['$HOME']"
$ localsearch reset --filesystem
There is a wide variety of scenarios to consider for hard numbers (initial indexing vs already indexed, indexing on battery vs on mains, some file formats being more expensive than others, …) as well as a wide range of drive speeds these days (HDDs, SD cards, SSDs, NVMe drives, …) as well as disk sizes. As such, it does not make sense to discuss hard numbers, but ballparks if anything. Also, a reminder that indexing of a file (tree) is most often a one time operation meant to speed up later searches, not something experienced every day.
Constructive discussion on this change is welcome.