MatchScorerallows you to sort documents based on the quality of query match. The scorer assigns a score based on term frequency in a document. Caution: **This solution is no longer recommended:** Apps that use this API can only run in the Python 2 runtime and will need to upgrade to a [recommended solution](/appengine/docs/legacy/standard/python/migrate-to-python3/migrating-services#migration_paths_for_bundled_services) before migrating to the Python 3 runtime.
To use a
MatchScorer, add it to the
SortOptions as in the following code:
sort_opts = search.SortOptions(match_scorer=search.MatchScorer())
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:
sort_opts = search.SortOptions(match_scorer=search.MatchScorer(), expressions=[search.SortExpression( expression='_score', direction=search.SortExpression.ASCENDING, default_value=0.0)])
The scores in this case will be negative.
MatchScorer is defined in the
The constructor for class
MatchScorer is defined as follows:
- class MatchScorer()
Assigns a document score to search results representing how well they match the query, base on frequency of terms in the document.
A new instance of class
If any of the parameters have an invalid type, or an unknown attribute is passed.
If any parameter has an invalid value.