我正在考虑是否为我当前的项目选择NHibernate.Search或PostgreSQL的嵌入式全文搜索支持。
我们正在使用,正如您已经猜到的那样,在.NET平台上使用带有NHibernate ORM的PostgreSQL RDBMS。您对上述全文引擎有什么经验?我应该注意哪些陷阱?
答案 0 :(得分:2)
我建议使用Lucene,不过我觉得Postgres是一款很棒的产品。 Lucene的算法在自然语言文本搜索方面非常“开箱即用”。换句话说,当你构建最简单的搜索时,它似乎只是“做正确的事”(也就是说,你的直觉会表明它应该做什么)。
Postgres做得非常好。这就是它的设计目标。但比较以下两者的实现:
Search for "google" or "yahoo" or "msn" followed by "search engine".
现在重复使用相同的查询代码来执行以下搜索:
Search for "google" and "yahoo" and "msn" and "search engine".
想象一下在NHibernate.Search和Postgresql中实现查询需要什么。不用花很长时间就能说服自己用NHibernate构建灵活的文本查询功能更容易。它更适合它。