For search, isn't the solution really similar to building a search engine? A "note-crawler" to try and index notes on nostr? Or maybe search will be done on a specific relay, no need to index all notes across nostr
Interesting ideas.