Class `FacetRefinement` is used to narrow search results based on a facet value.

The recommended way to use facet refinement is to use its token string. Each FacetResult will
have a token that is acceptable instead of this class. To provide manual FacetRefinement, an
instance of this class can be passed to SearchOptions.

`FacetRefinement` is defined in the module `google.appengine.api.search`.

## Constructor

The constructor for class `FacetRefinement` is defined as follows:

class FacetRefinement(name, value=None, facet_range=None)

:   Construct an instance of class `FacetRefinement`.

    NOTE: Either the value or the facet_range should be set but not both.

:

    Arguments

    name

    :   Sets the name property

    value

    :   Sets the value property

    facet_range

    :   Sets the facet_range property

    Result value

    :   A new instance of class `FacetRefinement`.

    Exceptions

    TypeError

    :   If any of the parameters have invalid types, or an unknown
        attribute is passed.

    ValueError

    :   If any of the parameters have invalid values.

    <br />

<br />

## Properties

An instance of class `FacetRefinement` has the following properties:

name

:   name of the facet refinement.

value

:   string value of the facet refinement.

range

:   numeric range of the facet refinement.

## Instance Methods

Instances of class `FacetRefinement` have the following methods:

ToTokenString()

:   Converts this refinement to a token string safe to be used in HTML. The format of this string may change.

:   Result value

    :   A token string safe to be used in HTML for this facet refinement.

FromTokenString()

:   This static method converts a token string to a FacetRefinement object. Do not store token strings between different versions of API as key could
    be incompatible.

:   Arguments

    token_string

    :   A token string created by ToTokenString method or returned
        by a search result.

    Result value

    :   A FacetRefinement object.

    Exceptions

    ValueError

    :   If the token_string is invalid.