Re: text search patch status update?

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Sushant Sinha <sushant354(at)gmail(dot)com>
Cc: Alvaro Herrera <alvherre(at)commandprompt(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: text search patch status update?
Date: 2008-09-17 10:32:29
Message-ID: 48D0DCBD.7030904@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Chernow 2008-09-17 10:45:18 Re: [PATCHES] libpq events patch (with sgml docs)
Previous Message Pavel Stehule 2008-09-17 10:29:04 Re: Common Table Expressions (WITH RECURSIVE) patch