Stephen Davies wrote:
Unfortunately, my link to the box with the test database is down due to lack of maintenance by our local telco (Telstra) but I think that I also missed the optional config arg to ts_headline.

The lack of link also means that I cannot confirm your findings but your logic looks good.

Looks like ALTER DATABASE SET default_text_config='english' is what you need.

It begs the question, however, as to why ts-headline needs to reparse the raw text.

It needs to line up tsvector lexemes with actual characters in the text. The tsvector is missing punctuation, any stopwords (the, it, a) as well as being stemmed (if your dictionary does that).

Also, it's looking for a short span of words that provide the best match. That might not be a complete match of course, and is different to how you'd normally look to use a tsvector.

At least in my case, I am using a trigger to parse the combination of Title and Abstract to a ts_vector field in the table row (as suggested in 12.2.2 and 12.4.3 in the doco) so that the ts_vector is already available to ts_headline.

If ts_headline had the ability to use that pre-parsed ts_vector, my problem would never have arisen - and the performance of ts_headline would be improved.

Maybe. It would still have to parse the text to some degree though, just to get the original words & punctuation into the headline.

--
  Richard Huxton
  Archonet Ltd

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

              http://archives.postgresql.org/

Reply via email to