----- Цитат от karave...@mail.bg, на 27.01.2012 в 18:48 -----

> ----- Цитат от Sushant Sinha (sushant...@gmail.com), на 27.01.2012 в 18:32 
> -----
> 
>> The rank counts 1/coversize. So bigger covers will not have much impact
>> anyway. What is the need of the patch?
>> 
>> -Sushant.
>>
> 
> If you want to find only combinations of words that are close one to another, 
> with the patch you could use something as:
> 
> WITH a AS (SELECT to_tsvector('a b c d e g h i j k') AS vec, 
> to_tsquery('a&d') AS query) 
> SELECT * FROM a WHERE vec @@ query AND ts_rank_cd(3,vec,query)>0;
> 

Another example, if you want to match 'b c d' only, you could use:

WITH A AS (SELECT to_tsvector('a b c d e g h i j k') AS vec, 
to_tsquery('b&c&d') AS query) 
SELECT * FROM A WHERE vec @@ query AND ts_rank_cd(2,vec,query)>0;

The catch is that it will match also 'b d c', 'd c b', 'd b c', 'c d b' and 'd 
b d', so it is not a
replacement for exact phrase match but something that I find useful

--
Luben Karavelov

Reply via email to