I'm currently evaluating elastic search to provide a super fast completion engine to our users.
The product is basically a social network enabling people to share content into groups.
When a user starts typing some words into the search bar, I would like elastic search to return results matching these words, for 4 types of objects : posts, users, tags, groups.
The query is not simple because a given user is allowed to see objects only if they share at least one group with him.
Example : if user A and user B are in group 1 and if user B publish in group 2, user A will not see the post.
What do you think ? Do I have to create 1 index per type of object ?