Re: BUG #16592: websearch_to_tsquery() returns queries that don't result in expected matches

From: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
To: bp(at)barryp(dot)org, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #16592: websearch_to_tsquery() returns queries that don't result in expected matches
Date: 2020-08-30 02:11:12
Message-ID: CAPpHfdvqYTme=rFfRkCqpWXq15BZG4aVUBLqo=uP7qWm2crdKQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Sun, Aug 30, 2020 at 4:44 AM Alexander Korotkov <aekorotkov(at)gmail(dot)com> wrote:
> On Tue, Aug 25, 2020 at 11:24 PM PG Bug reporting form
> <noreply(at)postgresql(dot)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.

I've done a quick investigation. It seems that this behavior was
never well-thought out.

I wrote a patch for this issue. It just replaces OP_AND with
OP_PHRASE inside quotes. This patch is not perfect in terms of
abstractions and needs more work. But on the user side it probably
does the right thing. Could you review its user-level behavior?

------
Regards,
Alexander Korotkov

Attachment Content-Type Size
websearch_fix.patch application/octet-stream 530 bytes

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Yash Raj 2020-08-30 05:27:27 Re: BUG #16601: Restore Issue
Previous Message Alexander Korotkov 2020-08-30 01:44:58 Re: BUG #16592: websearch_to_tsquery() returns queries that don't result in expected matches