search is fine being centralized. it's only a visibility use case. think of this like blockchain explorers. the explorer itself being centralized is fine.
someone (with the funds) just needs to have some server listening to all nostr messages ever, ingest / merge / aggregate them and chuck them into elastic search and the problem is solved.
default full text search is good enough, bonus points to those who figure out custom scoring/trending models on ES