Re: BUG #16592: websearch_to_tsquery() returns queries that don't result in expected matches
Alexander Korotkov <aekorotkov@gmail.com>
From: Alexander Korotkov <aekorotkov@gmail.com>
To: bp@barryp.org, pgsql-bugs@lists.postgresql.org
Date: 2020-08-30T01:44:58Z
Lists: pgsql-bugs
Hi!
On Tue, Aug 25, 2020 at 11:24 PM PG Bug reporting form
<noreply@postgresql.org> wrote:
> In the regression tests src/test/regress/expected/tsearch.out there's an
> example relating to double-quoted searches:
>
> select websearch_to_tsquery('english', '"pg_class pg"');
> websearch_to_tsquery
> -----------------------------
> ( 'pg' & 'class' ) <-> 'pg'
> (1 row)
>
> However, if you ran a query like that against that exact text 'pg_class pg',
> the result is false when I'd expect it should be true
>
> select to_tsvector('pg_class pg') @@ websearch_to_tsquery('"pg_class
> pg"');
>
> I'd think websearch_to_tsquery('english', '"pg_class pg"') should ideally
> return
>
> 'pg' <-> 'class' <-> 'pg'
>
> which does match the original string, e.g:
>
> select to_tsvector('pg_class pg') @@ to_tsquery('pg <-> class <->
> pg');
>
> does return true
It really looks at least counterintuitive for me. I'm going to check this out.
------
Regards,
Alexander Korotkov
Commits
-
Fix parsing of complex morphs to tsquery
- 0c4f355c6a5f 14.0 landed