Search on outbox relays directly fixes 80% or more of all generic "search" use cases. We almost can live without big centralized search indexers if we can do full-text search directly from the source of people we're interested in.
1. If I want to search for something specifically said by someone (on Twitter there existed a "by:" special directive when searching, I basically always used that) I can search their outbox relays directly.
2. If I want to search for something and I'm not sure who said it: it goes a long way to search each of my follows' relays, as that thing that I saw is likely to having been said by someone I follow.
3. The point above can be expanded to follows-of-follows: it may take more time, but such cases of search are rare enough that the user can be expected to endure through a "loading" bar while the client tries to search some hundreds of relays.
View quoted note →

- NIP-50 full-text search support:
It tries to be good about it. Like it will allow you to choose the language used for analyzing and stemming note contents (more than one language can be selected, in which case a magical system will select one for each incoming note automatically).
It will also act smartly about indexing mentions, quotes and URL references in notes. For example if you index something that has a "nostr:npub1..." in it then later search for "nostr:nprofile1..." with the same npub you'll find that first note (and vice-versa). If your query includes a reference to the npub of the note author that will also work (although using {"authors": ["<pubkey>"]} also works the same).
And the query language supports basic stuff like "banana OR mango" or even "apple AND NOT strawberry". Exact matches enclosed with double quotes are also supported.