title: how to do OR to all the words in full text search instead of AND in postgres
body: <p>I have a <code>post</code> table which has a <code>tsv</code> column. Let's assume <code>tsv</code> is generated by title only. There are 3 rows in the <code>post</code> table now. Their titles are 'hello', 'world' and 'hello world'. </p>
  
  <p>When I do a <code>select</code> query like</p>
  
  <pre><code>SELECT p.*
     FROM plainto_tsquery('hElLo WoRlD’) AS q,
          post p
     WHERE tsv @@ q
  ORDER BY ts_rank_cd(p.tsv, plainto_tsquery('hElLo WoRlD')) DESC;
  </code></pre>
  
  <p>I would assume all three records returned with the one has 'hello world' as title being the first in the list, but the query actually only return one record. How can I have all 3 records return? and of course sorted by most relevant. </p>
  
  <p>tsv is generated by <code>setweight(to_tsvector(coalesce(new.title,'')), 'A');</code></p>
  
  <p>and if there's a way to do both would be even better. Like what google can do <code>"hello world" foo bar</code> will return results with "hello world" and/or foo and/or bar</p>