Re: text search patch status update? - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: text search patch status update?
Date
Msg-id 48D0DCBD.7030904@enterprisedb.com
Whole thread Raw
In response to Re: text search patch status update?  ("Sushant Sinha" <sushant354@gmail.com>)
Responses Re: text search patch status update?  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
Sushant Sinha wrote:
> Patch #2. I think this is a straigt forward bug fix.

Yes, I think you're right. In hlCover(), *q is 0 when the only match is 
the first item in the text, and we shouldn't bail out with "return 
false" in that case.

But there seems to be something else going on here as well:

postgres=# select ts_headline('1 2 3 4 5', '2'::tsquery, 'MinWords=2, 
MaxWords=3'); ts_headline
-------------- <b>2</b> 3 4
(1 row)

postgres=# select ts_headline('aaa1 aaa2 aaa3 aaa4 
aaa5','aaa2'::tsquery, 'MinWords=2, MaxWords=3');   ts_headline
------------------ <b>aaa2</b> aaa3
(1 row)

In the first example, you get three words, and in the 2nd, just two. It 
must be because of the default ShortWord setting of 3. Also, if only the 
last word matches, and it's a "short word", you get the whole text:

postgres=# select ts_headline('1 2 3 4 5','5'::tsquery, 'MinWords=2, 
MaxWords=3');   ts_headline
------------------ 1 2 3 4 <b>5</b>
(1 row)

--   Heikki Linnakangas  EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: "Pavel Stehule"
Date:
Subject: Re: Common Table Expressions (WITH RECURSIVE) patch
Next
From: Andrew Chernow
Date:
Subject: Re: [PATCHES] libpq events patch (with sgml docs)