I’ve read a lot of your and others long form posts on DVMs. I understand the ideas and philosophy but again you’re losing me on the actual implementation details.
Step 3 as you’ve described it, is just an aggregator. Nobody can do this on the fly for text search. The operators that have this data are going to be large DBs who have been aggregating nostr events from many relays. These happen to be the exact same providers/relays that already offer NIP-50.
You’ve doubled the amount of steps and still you’re going to the same sources for information. Search is a function that is most useful when provided by aggregators.
That DVM search implementation is many times more complicated (and slower) than adding a “search” REQ filter. That’s the comparison I’m making.