I would suggest client apps make better use of the `t` tag on kind 0 to store things that can identify the user’s interests and their community/tribe. That should really be pushed by apps. Then use that to return profiles when users do searches.
From my experience search on Nostr really sucks and that’s one of the ways. Part of the problem is not wanting to return spam. For people searches that can be reduced using extended follower networks and other measures of trust.