快速业务通道

JavaEye3.0开发手记之三 - 狮身人面 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

JavaEye3.0开发手记之三 - 狮身人面

时间:2011-11-20 javaeye robbin

Sphinx的含义是“狮身人面像”,是古埃及的金字塔建筑,传说Sphinx是有翼的狮身女怪,她常叫过 路行人猜谜, 猜不出者即遭杀害。

但是我这里说的Sphinx是一个高性能的搜索引擎:

http://www.sphinxsearch.com/

Sphinx是一个俄国人开发的搜索引擎,它的主要特点是:

一、性能非常出色

150万条记录一两分钟就索引完毕,2-4GB以内的文本检索速度不到0.1秒钟。ferret也望尘莫及,更不 要说lucene了。

二、和数据库集成性很好

Sphinx通过配置文件可以自行读取数据库信息做索引,不依赖任何外部的应用程序,并且可以作为一 个daemon进程启动,支持分布式检索,并发响应性能很好。因此很多过去使用ferret的人因为并发检索的 问题都改用Sphinx了。

三、可以做MySQL的全文检索

MySQL的数据库引擎是可插拔的结构,Sphinx开发了一个SphinxSE数据库引擎,可以在编译MySQL的时 候直接编译到MySQL里面去,这样的话,可以在数据库级别支持高性能的全文检索,那么你可以以如下SQL 方式去全文检索了:

select * from xxxx where query=''test;sort=attr_asc:group_id'' AND ....;

很棒吧。

四、RoR支持也很棒

有一个acts_as_sphinx插件,类似acts_as_ferret,集成到RoR里面很简单。

Sphinx目前可能存在的问题估计还是中文分词问题:

Sphinx支持UTF-8编码的分词,但是他自己的文档上面说仅仅支持英文和俄文的分词,因此我估计对中 文分词可能还不能很好的支持。

总之,Sphinx是我们另外一个很棒的选择。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号