Jan Urbański wrote:
Here's a WIP patch implementing an oprrest function for tsvector @@ tsquery and tsquery @@ tsvector.

The idea is (quoting a comment)
/*
 *  Traverse the tsquery preorder, calculating selectivity as:
 *
 *   selec(left_oper) * selec(right_oper) in AND nodes,
 *
 *   selec(left_oper) + selec(right_oper) -
 *      selec(left_oper) * selec(right_oper) in OR nodes,
 *
 *   1 - select(oper) in NOT nodes
 *
 *   freq[val] in VAL nodes, if the value is in MCELEM
 *   min(freq[MCELEM]) / 2 in VAL nodes, if it is not

Seems reasonable.

 *
 * Implementation-wise, we sort the MCELEM array to use binary
 * search on it.
 */

Would it be possible to store the array in sorted order, to avoid sorting it on every invocation of tssel?

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to