From: | Jan Urbański <j(dot)urbanski(at)students(dot)mimuw(dot)edu(dot)pl> |
---|---|
To: | Postgres - Hackers <pgsql-hackers(at)postgresql(dot)org> |
Cc: | Heikki Linnakangas <heikki(at)enterprisedb(dot)com> |
Subject: | gsoc, oprrest function for text search |
Date: | 2008-07-19 11:15:27 |
Message-ID: | 4881CCCF.4020905@students.mimuw.edu.pl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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
*
*
* Implementation-wise, we sort the MCELEM array to use binary
* search on it.
*/
The patch still has many rough edges, but it applies to HEAD and passes
tests. I'm posting it mostly to get feedback about whether I'm going in
the right direction.
Cheers,
Jan
--
Jan Urbanski
GPG key ID: E583D7D2
ouden estin
Attachment | Content-Type | Size |
---|---|---|
tssel-gsoc08-tss.patch | text/plain | 13.0 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Adriaan van Os | 2008-07-19 11:35:17 | Re: Getting to universal binaries for Darwin |
Previous Message | Oleg Bartunov | 2008-07-19 07:41:48 | Re: phrase search |