Suggester does not work the same way as normal queries and is not aware of types, so the output is expected. As you have two suggesters with same name, it will return the same results. You should use the context suggester, that adds a context (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/suggester-context.html), so that you can differentiate. To avoid any ambiguity, I tend to have more verbose name for my suggesters are they are not type aware (so instead of "name_suggest" I would call them "keyword_name_suggest" and "profile_name_suggest"). If you do so, you basically don't need to use the "context suggester". If you want to keep the same name, you'll have to use a context suggester.