I'm writing a messaging platform and indexing the messages in Lucene. In order to determine what messages a user is "subscribed to", I add their id as a "subscribed" facet. This is problematic as we scale up since it means that each message could potentially have millions of subscribers for the public streams. Is there a better way to handle this that will scale better?