Thread: Re: Bug in the documentation - to_tsquery( 'postgres:*' );

Re: Bug in the documentation - to_tsquery( 'postgres:*' );

From
Jiri Verunek
Date:
Maybe the documentation could say that it is assumed that the database
is configured with
   default_text_search_config = 'english'
in the configuration file.

In case of my distribution, the parameter was set to 'pg_catalog.simple'.

  /etc/postgresql/<version>/main/postgresql.conf
       default_text_search_config = 'pg_catalog.simple'

Jiri


On Wed, Apr 05, 2023 at 08:27:28AM +0000, PG Doc comments form wrote:
> The following documentation comment has been logged on the website:
> 
> Page: https://www.postgresql.org/docs/15/index.html
> Description:
> 
> There is a bug in the documentation on the link
> https://www.postgresql.org/docs/current/datatype-textsearch.html
> 
> postgres does not get stemmed to postgr    by :to_tsquery( 'postgres:*' );
> and
> SELECT to_tsvector( 'postgraduate' ) @@ to_tsquery( 'postgres:*' );
> returns f.
> 
> I am using PostgreSQL 12.14 but the documentation for PostgreSQL 12 is not
> correct either.
> Here is the output from my system:
> SELECT to_tsvector( 'postgraduate' ), to_tsquery( 'postgres:*' );
>    to_tsvector    |  to_tsquery  
> ------------------+--------------
>  'postgraduate':1 | 'postgres':*
> (1 row)
> 
> So the below mentioned citation seems to be wrong.
> 
> 
> Citation:
> 
> Note that to_tsquery will process prefixes in the same way as other words,
> which means this comparison returns true:
> 
> SELECT to_tsvector( 'postgraduate' ) @@ to_tsquery( 'postgres:*' );
>  ?column?
> ----------
>  t
> 
> because postgres gets stemmed to postgr:
> 
> SELECT to_tsvector( 'postgraduate' ), to_tsquery( 'postgres:*' );
>   to_tsvector  | to_tsquery
> ---------------+------------
>  'postgradu':1 | 'postgr':*
> 
> which will match the stemmed form of postgraduate.