On Mon, Feb 3, 2014 at 8:19 PM, Tomas Vondra <tv@fuzzy.cz> wrote:
> > Sometimes test cases are not what we expect. For example:
>> > >> > =# explain SELECT id FROM messages WHERE body_tsvector @@ >> > to_tsquery('english','(5alpha1-initdb''d)'); >> > QUERY PLAN >> > >> > >> ──────────────────────────────────────────────────────────────────────────────── >> > Bitmap Heap Scan on messages (cost=84.00..88.01 rows=1 width=4) >> > Recheck Cond: (body_tsvector @@ '''5alpha1-initdb'' & ''5alpha1'' & >> > ''initdb'' & ''d'''::tsquery) >> > -> Bitmap Index Scan on messages_body_tsvector_idx >> (cost=0.00..84.00 >> > rows=1 width=0) >> > Index Cond: (body_tsvector @@ '''5alpha1-initdb'' & >> ''5alpha1'' >> & >> > ''initdb'' & ''d'''::tsquery) >> > Planning time: 0.257 ms >> > (5 rows) >> > >> > 5alpha1-initdb'd is 3 gin entries with different frequencies. >> >> Why do you find that strange? The way the query is formed or the way >> it's >> evaluated? >> >> The query generator certainly is not perfect, so it may produce some >> strange queries. >> > > I just mean that in this case 3 words doesn't mean 3 gin entries.
Isn't that expected? I mean, that's what to_tsquery may do, right?
Everything is absolutely correct. :-) It just may be not what do you expect if you aren't getting into details.