Re: Rethinking our fulltext phrase-search implementation

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Artur Zakirov <a.zakirov@postgrespro.ru>
Cc: pgsql-hackers@postgreSQL.org
Date: 2016-12-21T14:30:07Z
Lists: pgsql-hackers
Artur Zakirov <a.zakirov@postgrespro.ru> writes:
> Otherwise it seems that queries like 'a <-> (b & c)' will always return 
> false. Then we need maybe some warning message.

Well, the query as written is pointless, but it could be useful with
something other than "b" and "c" as the AND-ed terms.  In this usage
"&" is equivalent to "<0>", which we know has corner-case uses.

I'm not inclined to issue any sort of warning for unsatisfiable queries.
We don't issue a warning when a SQL WHERE condition collapses to constant
FALSE, and that seems like exactly the same sort of situation.

It strikes me though that the documentation should point this out.

			regards, tom lane


Commits

  1. Fix strange behavior (and possible crashes) in full text phrase search.

  2. Fix handling of phrase operator removal while removing tsquery stopwords.