GNOME Bugzilla – Bug 715194
Multi-pass indexing
Last modified: 2013-12-03 20:59:52 UTC
AFAIK, currently when tracker's miners crawl the file system, it extract metadata out of files (possibly using gstreamer, etc) which takes time on resource-constraint devices. To get faster result, I suggest first crawling files to record them, and extra metadata later. I don't know yet how possible that is with current tracker architecture.
Clarification: It is true that it will make the overall indexing slower, but the use case here is similar than in bug #719306: When I plug an USB key and open the music app, I want my music to be displayed as soon as possible even if it has incomplete metadata. The UI can refresh later when tracker extract more information. So what I suggest (if I understand correctly the code): 1) add a dbus method SkipMetaDataExtractor(bool) that music app can call when it is displaying music list to user. That tells tracker that it must go as fast as possible to crawl all files, and extract more metadata later. Note that dbus API could be in common with bug #719306. 2) in tracker-miner-files.c, process_file_cb(), skip the tracker_extract_client_get_metadata() call if an app has called SkipMetaDataExtractor. It will probably have to add a "MetaDataExtracted" boolean property on the nie:InformationElement object to false in that case. 3) When tracker is done crawling all files (not sure where that happens in the code) it should query "select %url where {?o nie:url ?url;x:MetaDataExtracted false}" and re-index them.
I think this bug has lots in common with bug #719306 , so I opened bug #719802 to handle both cases. *** This bug has been marked as a duplicate of bug 719802 ***