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!