----- Цитат от 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