Class `RescoringMatchScorer` allows you to sort documents based on the quality
of query match. It is similar to a
[MatchScorer](https://docs.cloud.google.com/appengine/docs/standard/services/search/python/matchscorerclass)
but uses a more complex scoring algorithm based on match term frequency and other factors like field type.
Please be aware that this algorithm is continually refined and can change over time without notice. This means that the ordering
of search results that use this scorer can also change without notice.

To use a `RescoringMatchScorer`, add it to the `SortOptions` as in the following code:


```python
  sort_opts = search.SortOptions(match_scorer=search.RescoringMatchScorer())
```

This sorts the documents in descending score order. The scores will be
positive.

If you want to sort in ascending order, then use the following code:

```python
  sort_opts = search.SortOptions(match_scorer=search.RescoringMatchScorer(),
      expressions=[search.SortExpression(
          expression='_score', direction=search.SortExpression.ASCENDING,
          default_value=0.0)])
```

The scores in this case will be negative.

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

## Constructor

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

class RescoringMatchScorer()

:   Assigns a document score to search results representing how well they match the query, base on frequency of terms in the document and weighted by doc parts.

    Result value

    :   A new instance of class `RescoringMatchScorer`.

    Exceptions

    TypeError

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

    ValueError

    :   If any parameter has an invalid value.

    <br />