I would recommend using Lucene, though I think Postgres is a great product. Lucene's algorithms work great "out of the box" for natural-language text searching. In other words, when you just construct the simplest possible search it just seems to "do the right thing" (which is to say, what your intuition would suggest it should do).
Postgres does RDb Mgt very well. That's what it was designed for. But compare the implementation of the following on both:
Search for "google" or "yahoo" or "msn" followed by "search engine".
Now reuse the same query code to perform the following search:
Search for "google" and "yahoo" and "msn" and "search engine".
Imagine what it would take to implement the query in NHibernate.Search versus Postgresql. It shouldn't take long to convince yourself that it's easier to construct flexible text query functionality with NHibernate. It's just more naturally suited for it.