def terms(cls, tags, minimum_match=None):
        '''
        A query that match on any (configurable) of the provided terms. This is a simpler syntax query for using a bool query with several term queries in the should clauses. For example:

        {
            "terms" : {
                "tags" : [ "blue", "pill" ],
                "minimum_match" : 1
            }
        }'''
        instance = cls(terms={'tags': tags})
        if minimum_match is not None:
            instance['terms']['minimum_match'] = minimum_match
        return instance