Bug Report | Using ts_headline with the <-> operator

Started by Nonameabout 5 years ago2 messagesbugs
Jump to latest
#1Noname
christian@games.no

PostgreSQL version: 10.15

Operating system: Linux/Ubuntu

Bug when using ts_headline with the <-> operator

Assuming the following query:

SELECT ts_headline('simple','The Cyberpunk launch did not go as expected for
Cyberpunk Fans around the world', phraseto_tsquery('simple','Cyberpunk
Fans')::tsquery);

The returned result is:

The <b>Cyberpunk</b> launch did not go as expected for <b>Cyberpunk</b>
<b>Fans</b> around the world

This highlights the Cyberpunk alone in addition to Cyberpunk Fans.

However, the expected output would be:

The Cyberpunk launch did not go as expected for <b>Cyberpunk</b> <b>Fans</b>
around the world

Which only highlights *Cyberpunk Fans* due to the <-> operator in
phraseto_tsquery.

SELECT phraseto_tsquery('simple','Cyberpunk Fans');

The above returns 'cyberpunk<-> 'fans' as expected, so presumably this is an
issue with the ts_headline function.

I would be great to see this fixed/improved in the near future.

Christian

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Noname (#1)
Re: Bug Report | Using ts_headline with the <-> operator

<christian@games.no> writes:

Assuming the following query:

SELECT ts_headline('simple','The Cyberpunk launch did not go as expected for
Cyberpunk Fans around the world', phraseto_tsquery('simple','Cyberpunk
Fans')::tsquery);

The returned result is:

The <b>Cyberpunk</b> launch did not go as expected for <b>Cyberpunk</b>
<b>Fans</b> around the world

This is behaving as designed, and I don't really think it's wrong.
See previous discussion at

/messages/by-id/16744-861496b4f8f941f2@postgresql.org

It is unfortunate that the only way to customize this type of decision
is to build your own new text search parser. Perhaps someday someone
will put in the work to make that stuff a bit more modular and easier
to change.

regards, tom lane