From: Tom Lane <tgl@sss.pgh.pa.us>
To: Bruce Momjian <bruce@momjian.us>
Cc: Alex Malek <magicagent@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Cc: ngigi@at.co.ke
Subject: Re: BUG #15172: Postgresql ts_headline with <-> operator does not highlight text properly
Date: Sat, 28 Oct 2023 16:46:40 -0400
Message-ID: <1995601.1698526000@sss.pgh.pa.us> (raw)
In-Reply-To: <ZT1kGIbiALGclTUA@momjian.us>
References: <152461454026.19805.6310947081647212894@wrigleys.postgresql.org>
<CAGH8cccS-9yb1VkgUTAaghz4P3aL8DneH_24bN7Y0LCLO8by1Q@mail.gmail.com>
<ZT1kGIbiALGclTUA@momjian.us>
Bruce Momjian <bruce@momjian.us> writes:
> Is this documented somewhere?
The docs [1] only say that ts_headline "returns an excerpt from the
document in which terms from the query are highlighted". This
behavior does not violate that admittedly-weak contract.
IIRC, ts_headline does attempt to find a text fragment or fragments
that fully satisfy the query (e.g., include an exact phrase match)
but it will then highlight all the matching words in the fragment,
not only the location of the phrase match. I do not agree with the
OP's opinion that that's wrong. The highlight-em-all approach has its
own value, and in any case it may not be possible to find a full match
that satisfies the function's other constraints such as MaxWords.
Refusing to highlight anything in that event would be unhelpful.
regards, tom lane
[1] https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-HEADLINE
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-bugs@postgresql.org
Cc: tgl@sss.pgh.pa.us, bruce@momjian.us, magicagent@gmail.com, pgsql-bugs@lists.postgresql.org, ngigi@at.co.ke
Subject: Re: BUG #15172: Postgresql ts_headline with <-> operator does not highlight text properly
In-Reply-To: <1995601.1698526000@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox