一、性能非常出色
150万条记录一两分钟就索引完毕,2-4GB以内的文本检索速度不到0.1秒钟。ferret也望尘莫及,更不要说lucene了。
二、和数据库集成性很好
Sphinx通过配置文件可以自行读取数据库信息做索引,不依赖任何外部的应用程序,并且可以作为一个daemon进程启动,支持分布式检索,并发响应性能很好。因此很多过去使用ferret的人因为并发检索的问题都改用Sphinx了。
三、可以做MySQL的全文检索
MySQL的数据库引擎是可插拔的结构,Sphinx开发了一个SphinxSE数据库引擎,可以在编译MySQL的时候直接编译到MySQL里面去,这样的话,可以在数据库级别支持高性能的全文检索,那么你可以以如下SQL方式去全文检索。
相关代码参考:
Sphinx开发者可以按照自己的想法将以上代码进行封装,移植到相关项目中进行实施.
注:sphinx目前唯一的不足是对中文分司支持还不强大,其它各方面都比ferret、lucene强