Re: Rethinking the implementation of ts_headline()
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: pgsql-hackers@lists.postgresql.org, sebastian.patino-lang@posteo.net
Date: 2023-01-16T16:28:52Z
Lists: pgsql-hackers
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> I came across #17556 which contains a different test for this, and I'm
> not sure that this patch changes things completely for the better.
Thanks for looking at my patch. However ...
> That is, once past the 5000 words of distance, it fails to find a good
> cover, but before that it returns an acceptable headline. However,
> after your proposed patch, we get this:
> ts_headline │ ts_headline
> ─────────────┼─────────────
> {ipsum} │ {ipsum}
> (1 fila)
I get this with the patch:
ts_headline | ts_headline
---------------------+---------------------
{ipsum} ... {labor} | {ipsum} ... {labor}
(1 row)
which is what I'd expect, because it removes the artificial limit on
cover length that I added in 78e73e875. So I'm wondering why you got a
different result. Maybe something to do with locale? I tried it in
C and en_US.utf8.
regards, tom lane
Commits
-
Fix ts_headline() edge cases for empty query and empty search text.
- 029dea882a7a 16.0 landed
- f976a77787eb 15.3 landed
- bc428b12ac3a 11.20 landed
- b7d6c51d4693 13.11 landed
- a1fb4bd8562e 12.15 landed
- 34ad3aedb0ce 14.8 landed
-
Fix ts_headline() to handle ORs and phrase queries more honestly.
- 5a617d75d3b3 16.0 landed
-
Fix default text search parser's ts_headline code for phrase queries.
- c9b0c678d30a 13.0 cited