Thread: BUG #4148: tsearch related issue

BUG #4148: tsearch related issue

From
""
Date:
The following bug has been logged online:

Bug reference:      4148
Logged by:
Email address:      dksingh.engineer@gmail.com
PostgreSQL version: 8.3
Operating system:   windows xp
Description:        tsearch related issue
Details:

Hi,
  I'm using tsearch in my application.
for query SELECT to_tsvector('surprise') it's showing result as 'surpris':1
but when I try to search this word its returning false.

SELECT to_tsvector('surprise') @@ to_tsquery('surpris');

Re: BUG #4148: tsearch related issue

From
Tom Lane
Date:
"" <dksingh.engineer@gmail.com> writes:
> for query SELECT to_tsvector('surprise') it's showing result as 'surpris':1
> but when I try to search this word its returning false.

> SELECT to_tsvector('surprise') @@ to_tsquery('surpris');

This isn't a bug, because those are not the same word.  If you looked
closer, you'd find:

regression=# SELECT to_tsvector('surprise') , to_tsquery('surpris');
 to_tsvector | to_tsquery
-------------+------------
 'surpris':1 | 'surpri'
(1 row)

If you want to put in already-stemmed words, don't feed them through
to_tsquery, just cast directly to tsquery:

regression=# SELECT to_tsvector('surprise') @@ 'surpris'::tsquery;
 ?column?
----------
 t
(1 row)


            regards, tom lane