Thread

  1. bug in ts_rank_cd

    Sushant Sinha <sushant354@gmail.com> — 2010-12-21T13:32:22Z

    There is a bug in ts_rank_cd. It does not correctly give rank when the
    query lexeme is the first one in the tsvector.
    
    Example:
    
    select ts_rank_cd(to_tsvector('english', 'abc sdd'),
    plainto_tsquery('english', 'abc'));   
     ts_rank_cd 
    ------------
              0
    
    select ts_rank_cd(to_tsvector('english', 'bcg abc sdd'),
    plainto_tsquery('english', 'abc'));
     ts_rank_cd 
    ------------
            0.1
    
    The problem is that the Cover finding algorithm ignores the lexeme at
    the 0th position, I have attached a patch which fixes it. After the
    patch the result is fine.
    
    select ts_rank_cd(to_tsvector('english', 'abc sdd'), plainto_tsquery(
    'english', 'abc'));
     ts_rank_cd 
    ------------
            0.1