# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class AttributeSearchProperties(Model):
    """Represents search configuration for an attribute.

    :param is_searchable: Gets a value indicating whether the attribute
     supports full text search.
    :type is_searchable: bool
    :param is_filterable: Gets a value indicating whether the attribute
     supports filtering.
    :type is_filterable: bool
    :param is_facetable: Gets a value indicating whether the attribute can be
     included as facet results.
    :type is_facetable: bool
    :param facet_specification: Gets an optional specification for search
     faceting used at query time (advanced).
    :type facet_specification: str
    :param is_sortable: Gets a value indicating whether the attribute supports
     ordering.
    :type is_sortable: bool
    """

    _attribute_map = {
        'is_searchable': {'key': 'isSearchable', 'type': 'bool'},
        'is_filterable': {'key': 'isFilterable', 'type': 'bool'},
        'is_facetable': {'key': 'isFacetable', 'type': 'bool'},
        'facet_specification': {'key': 'facetSpecification', 'type': 'str'},
        'is_sortable': {'key': 'isSortable', 'type': 'bool'},
    }

    def __init__(self, *, is_searchable: bool=None, is_filterable: bool=None, is_facetable: bool=None, facet_specification: str=None, is_sortable: bool=None, **kwargs) -> None:
        super(AttributeSearchProperties, self).__init__(**kwargs)
        self.is_searchable = is_searchable
        self.is_filterable = is_filterable
        self.is_facetable = is_facetable
        self.facet_specification = facet_specification
        self.is_sortable = is_sortable
