I really think we need to devise a way to allow for external services beyond relays but in a standardized way.
File upload/media is sorely needed as an integrated service but so is Search, Archival relays, Lists.
The filters for relay requests only go so far. It's not a full text search option, heck cant even search for words with the existing filters.
For search, we could get a lot of value from the robustness of searching text, limiting to date ranges, limiting to accounts (by npub, by nip05, by nip05 domain even), and joins. If I were to build something I'd probably start with Lucene or ElasticSearch, but there may be better options now.
Relays are in the best position to build out a search offering based on having events already. Monetizing is a whole nother matter. Maybe relays do this and allow for X number of searches per month as part of the standard package and allow for paying for more to cover the compute and network out costs.
But before even getting to that, we need to devise NIPs to standardize search query for compatibility.