optimization: if there is no file pattern it will fallback on database usages which is much faster than HyperEstraier (bacause it has indexes)