Thread: Bug Report | Using ts_headline with the <-> operator
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
<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 https://www.postgresql.org/message-id/flat/16744-861496b4f8f941f2%40postgresql.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