class StringTermSchema(ExtSchema):
    term = fields.TermField(example='Lorem')
    terms = fields.TermsField(example='Lorem,Ipsum')
    startswith = fields.WildcardField(wildcard='*{}', example='Lore')
    endswith = fields.WildcardField(wildcard='{}*', example='rem')
    contains = fields.WildcardField(wildcard='*{}*', example='orem')

    class Meta:
        default_field = 'term'
class DateTermSchema(ExtSchema):
    term = fields.TermField(example=10)
    terms = fields.TermsField(example=10)
    gt = fields.RangeGtField(example=10)
    gte = fields.RangeGteField(example=10)
    lt = fields.RangeLtField(example=10)
    lte = fields.RangeLteField(example=10)

    class Meta:
        default_field = 'term'
class BooleanTermSchema(ExtSchema):
    term = fields.TermField(example="true")

    class Meta:
        default_field = 'term'