@butonic, yeah, I'm tracking what you mean... any items registered in the 'filecache' table should be provided by the \OC\Search\Provider\File so as not to duplicate that search. I will retain the if-else code above but return the items with the proper type (e.g. OC\Search\Provider\Audio, ...\Image, etc.). I will also add the mimetype filtering and paging when I get a chance, which should be here soon. Do we want to add this directly to the OC\Search method or do it per provider? What about both?