透视stackoveflow.com(由2-3名工程师组建一个旨在扩展的网站项目的团队)在开发过程中尽早花费精力构建基于Lucene / Autonomy的搜索是有意义的...而不是基于数据库的全文搜索。
优点/缺点:
有了成熟的Lucene实现,如nutch或autonomy,后期转移到Lucene(这是不可避免的)的成本可以忽略不计。
在大量添加额外的索引服务器(比如用nutch)来维持不断增长的搜索索引相对容易
使用Lucene实现,我很可能需要一个额外的服务器来主存内存索引(在缩放过程的早期)。
答案 0 :(得分:4)
数据库全文搜索性能因数据库而异,但它是迄今为止最简单的设置选项。所以从这开始,如果它被证明太慢,就转移到lucene或sphinx。
答案 1 :(得分:0)
你应该保持隔离 - 如果你知道你将用搜索引擎查询替换它们,不要开始在你的代码中抛出SELECTS。使用精简抽象层包装数据库的全文搜索,确保不使用数据库功能。
我接受了接受的答案 - 这里的过早优化肯定是邪恶的。