Scripting and Redis Cluster

I am trying to learn more about redis. I have a use case where I need to return data based on the intersection of two datasets and some additional processing. For example, a list of books is based on an intersection of publishers and authors. The query is sufficiently complex that a LUA script makes sense.

If I understand correctly, in a cluster, I need to have all keys on the same server. What happens if that node is not available?

Can someone explain – if I need to run a script such as “get all publishers and authors where publishers start with (some random letter)”, doesn’t this mean ALL publisher and author data must be on the same server?

If so, what advantage do I have of running in a cluster?