Lists: | pgsql-hackers |
---|
From: | Sushant Sinha <sushant354(at)gmail(dot)com> |
---|---|
To: | Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | small bug in hlCover |
Date: | 2008-07-17 03:01:46 |
Message-ID: | 1216263706.10473.10.camel@dragflick |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
I think there is a slight bug in hlCover function in wparser_def.c
If there is only one query item and that is the first word in the text,
then hlCover does not returns any cover. This is evident in this example
when ts_headline only generates the min_words:
testdb=# select ts_headline('1 2 3 4 5 6 7 8 9 10','1'::tsquery,
'MinWords=5');
ts_headline
------------------
<b>1</b> 2 3 4 5
(1 row)
The problem is that *q is initialized to 0 which is a legitimate value
for a cover. So I have attached a patch that fixes it and after applying
the patch here is the result.
testdb=# select ts_headline('1 2 3 4 5 6 7 8 9 10','1'::tsquery,
'MinWords=5');
ts_headline
-----------------------------
<b>1</b> 2 3 4 5 6 7 8 9 10
(1 row)
-Sushant.
Attachment | Content-Type | Size |
---|---|---|
hlcover_bug.patch | text/x-patch | 921 bytes |
From: | Sushant Sinha <sushant354(at)gmail(dot)com> |
---|---|
To: | Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: small bug in hlCover |
Date: | 2008-08-03 19:15:17 |
Message-ID: | 1217790917.6025.0.camel@dragflick |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
Has any one noticed this?
-Sushant.
On Wed, 2008-07-16 at 23:01 -0400, Sushant Sinha wrote:
> I think there is a slight bug in hlCover function in wparser_def.c
>
> If there is only one query item and that is the first word in the text,
> then hlCover does not returns any cover. This is evident in this example
> when ts_headline only generates the min_words:
>
> testdb=# select ts_headline('1 2 3 4 5 6 7 8 9 10','1'::tsquery,
> 'MinWords=5');
> ts_headline
> ------------------
> <b>1</b> 2 3 4 5
> (1 row)
>
> The problem is that *q is initialized to 0 which is a legitimate value
> for a cover. So I have attached a patch that fixes it and after applying
> the patch here is the result.
>
> testdb=# select ts_headline('1 2 3 4 5 6 7 8 9 10','1'::tsquery,
> 'MinWords=5');
> ts_headline
> -----------------------------
> <b>1</b> 2 3 4 5 6 7 8 9 10
> (1 row)
>
> -Sushant.
From: | Sushant Sinha <sushant354(at)gmail(dot)com> |
---|---|
To: | Euler Taveira de Oliveira <euler(at)timbira(dot)com> |
Cc: | Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: small bug in hlCover |
Date: | 2008-08-04 03:57:11 |
Message-ID: | 1217822231.13402.8.camel@dragflick |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
On Mon, 2008-08-04 at 00:36 -0300, Euler Taveira de Oliveira wrote:
> Sushant Sinha escreveu:
> > I think there is a slight bug in hlCover function in wparser_def.c
> >
> The bug is not in the hlCover. In prsd_headline, if we didn't find a
> suitable bestlen (i.e. >= 0), than it includes up to document length or
> *maxWords* (here is the bug). I'm attaching a small patch that fixes it
> and some comment typos. Please apply it to 8_3_STABLE too.
Well hlCover purpose is to find a cover and for the document '1 2 3 4 5
6 7 8 9 10' and the query '1'::tsquery, a cover exists. So it should
point it out.
On my source I see that prsd_headline marks only min_words which seems
like the right thing to do.
-Sushant.
>
> euler=# select ts_headline('1 2 3 4 5 6 7 8 9 10','1'::tsquery,
> 'MinWords=5');
> ts_headline
> -----------------------------
> <b>1</b> 2 3 4 5 6 7 8 9 10
> (1 registro)
>
> euler=# select ts_headline('1 2 3 4 5 6 7 8 9 10','1'::tsquery);
> ts_headline
> -----------------------------
> <b>1</b> 2 3 4 5 6 7 8 9 10
> (1 registro)
>
>
From: | Teodor Sigaev <teodor(at)sigaev(dot)ru> |
---|---|
To: | sushant354(at)gmail(dot)com |
Cc: | Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: small bug in hlCover |
Date: | 2008-10-17 17:44:25 |
Message-ID: | 48F8CEF9.30507@sigaev.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
Thank you, patch applied.
Sushant Sinha wrote:
> Has any one noticed this?
>
> -Sushant.
>
> On Wed, 2008-07-16 at 23:01 -0400, Sushant Sinha wrote:
>> I think there is a slight bug in hlCover function in wparser_def.c
>>
>> If there is only one query item and that is the first word in the text,
>> then hlCover does not returns any cover. This is evident in this example
>> when ts_headline only generates the min_words:
>>
>> testdb=# select ts_headline('1 2 3 4 5 6 7 8 9 10','1'::tsquery,
>> 'MinWords=5');
>> ts_headline
>> ------------------
>> <b>1</b> 2 3 4 5
>> (1 row)
>>
>> The problem is that *q is initialized to 0 which is a legitimate value
>> for a cover. So I have attached a patch that fixes it and after applying
>> the patch here is the result.
>>
>> testdb=# select ts_headline('1 2 3 4 5 6 7 8 9 10','1'::tsquery,
>> 'MinWords=5');
>> ts_headline
>> -----------------------------
>> <b>1</b> 2 3 4 5 6 7 8 9 10
>> (1 row)
>>
>> -Sushant.
>
>
--
Teodor Sigaev E-mail: teodor(at)sigaev(dot)ru
WWW: http://www.sigaev.ru/