I want to run a query like to_tsquery(A | B | C) and then rank the
results so that if a document contained A, B, and C, then it would
rank above a document that just had some subset.
How would I do such a thing?
--
W. Matthew Wilson
m...@tplus1.com
http://tplus1.com
--
Sent via pgsql-general
Le 2012-09-25 à 14:16, W. Matthew Wilson a écrit :
I want to run a query like to_tsquery(A | B | C) and then rank the
results so that if a document contained A, B, and C, then it would
rank above a document that just had some subset.
How would I do such a thing?
If you're easily able to do it, (i.e. you're building rather than receiving
the query), you could rank them by the conjunction of the search terms
first:
ORDER BY ts_rank(vector, to_tsquery('A B C')) desc, ts_rank(vector,
to_tsquery('A | B | C')) desc
Or just explicitly order by whether the