Queries weighting |
>>> vector = SearchVector('body_text', weight='A') +
... SearchVector('headline', weight='B')
>>> query = SearchQuery('cheese')
>>> rank = SearchRank(vector, query)
>>> Entry.objects.annotate(rank=rank).order_by('rank')
SELECT "headline", ts_rank((
setweight(to_tsvector(COALESCE("body_text", '')), 'A') ||
setweight(to_tsvector(COALESCE("headline", '')), 'B')),
plainto_tsquery('cheese')) AS "rank"
FROM "blog_entry" ORDER BY "rank" DESC
[('Cheese on Toast recipes', 0.896524),
('Pizza Recipes', 0.607927), ('Pain perdu', 0.0)]
24