Re: [HACKERS] Rethinking our fulltext phrase-search implementation

Поиск
Список
Период
Сортировка
От Artur Zakirov
Тема Re: [HACKERS] Rethinking our fulltext phrase-search implementation
Дата
Msg-id 773bb687-1388-6c78-af23-5635a41a243d@postgrespro.ru
обсуждение исходный текст
Ответ на [HACKERS] Rethinking our fulltext phrase-search implementation  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: [HACKERS] Rethinking our fulltext phrase-search implementation  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Hello Tom,

On 17.12.2016 21:36, Tom Lane wrote:
>
> 4. The transformations are wrong anyway.  The OR case I showed above is
> all right, but as I argued in <24331.1480199636@sss.pgh.pa.us>, the AND
> case is not:
>
> regression=# select 'a <-> (b & c)'::tsquery;
>           tsquery
> ---------------------------
>  'a' <-> 'b' & 'a' <-> 'c'
> (1 row)
>
> This matches 'a b a c', because 'a <-> b' and 'a <-> c' can each be
> matched at different places in that text; but it seems highly unlikely to
> me that that's what the writer of such a query wanted.  (If she did want
> that, she would write it that way to start with.)  NOT is not very nice
> either:

If I'm not mistaken PostgreSQL 9.6 and master with patch 
"fix-phrase-search.patch" return false for the query:

select 'a b a c' @@ 'a <-> (b & c)'::tsquery; ?column?
---------- f
(1 row)

I agree that such query is confusing. Maybe it is better to return true 
for such queries?
Otherwise it seems that queries like 'a <-> (b & c)' will always return 
false. Then we need maybe some warning message.

-- 
Artur Zakirov
Postgres Professional: http://www.postgrespro.com
Russian Postgres Company



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: [HACKERS] Logical tape pause/resume
Следующее
От: Etsuro Fujita
Дата:
Сообщение: Re: [HACKERS] postgres_fdw bug in 9.6