The NIP-50 proposal by adds keyword search to relays and there are a few relays that support it already.
naddr1qvzqqqr4gcpzqla9dawkjc4trc7dgf88trpsq2uxvhmmpkxua607nc5g6a634sv5qqr8xetpwf3kspargst
Nostr.band
nostr:nrelay1qqt8wumn8ghj7un9d3shjtnwdaehgu3wvfskueq4r295t is a public relay operated by and was the first relay to support search. The nostr.band homepage can be used to search for anything on nostr and gathers some statistics about the network.
Nostr.wine
nostr:nrelay1qqthwumn8ghj7enfd36x2u3wdehhxarj9emkjmn99ukhsf is a paid relay operated by and . It offers search, filtering and broadcasting capabilities.
Nostrich.land
nostr:nrelay1qqw8wumn8ghj7atwd9mx2unnv5hxummnw3exjcmg9ekxzmnymrk7xn is a paid relay operated by and offers search and filtering capabilities. You can test it on their website.
According to the nostr.watch API there are a few more relays that support search but I haven't used them, will update this post when I try them.