Datamodeling question about having a single index vs multiple

We are building a chat application and indexing different types of chat messages for searching purposes to ElasticSearch.

I'm wondering, would it be better to have a single index with different type field for each message type (like chat thread, 1-on-1 chat message, group chat message etc.) or distribute the messages into their own indices? Benefits and downsides to each approach?

For example, one data access pattern we need to have is to fetch a list of "chat thread" parents (type "thread") and their children (type "thread response"). Can this be achieved with a single query? Fetching a list of parent threads and say, 5 first responses?

Thank you!

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.