Sphinx 1.10第一个beta版本-Sphinx 1.10 beta下载地址发布了,关注Sphinx 1.10的朋友可以去Sphinx官方获取最新的Sphinx 1.10 beta下载地址下载试用的说。Sphinx是一个针对SQL数据库级的全文检索工具,由于设计架构Sphinx可以轻松的于MySQL以及PostgreSQL数据库整合使用,但是也兼容通过ODBC连接数据库的方式抽取数据进行检索,或者通过自定义的XML来对指定数据源,然后使用Sphinx进行全文检索。
Sphinx的设计目的是可以轻松的于基于SQL的数据库进行整合,同时为数据库中的海量数据提供独立于数据库的全文检索能力。试想当一张表的数据量到达上千万的级别,任何形式的传统优化策略都难以再提升性能的情况下,如何能在海量数据中快速的进行全文检索工作能?Sphinx给出了我们一个切实可行的解决方案。Sphinx是面向SQL数据库的,借助Sphinx用户可以在SQL数据库之外构建出指定数据的索引,然后借助Sphinx来驱动这些索引的查询快速定位到需要的数据。这样检索的压力将极大的从数据库中解放出来,将更多的事务性工作留给数据库,更大的提升数据库的作用和性能。
Sphinx以全文检索客户端的形式出现,官方提供了window安装包以及Linux(Unix)源码包,同时官方还提供了一些附加包以及付费的服务支持。看到Sphinx这个面向数据库的全文检索工具让笔者想起了另一款优秀的J2EE全文检索工具-DBSight。由于笔者对Sphinx了解不多因此也只能从表面上进行下简单的对比。
首先Sphinx以客户端形式出现需要部署安装,而且需要ODBC方式与多种数据库连接,而DBSight是以Java应用的形式发布可以直接部署在已有的应用程序服务器中也可以直接独立运行,并且与数据库的连接直接通过JDBC完成。从检索数据的表现来看,Sphinx提供了多种语言的接口,尤其是多种脚本语言接口,可以方便的使用脚本语言来基于Sphinx进行UI的开发,而DBSight则是可以以多种数据格式返回,包括JSON,XML等。同时DBSight还实现了一个自定义功能强悍的界面展示,用起来也十分方便。二者最大的区别或许在于Sphinx是开源的产品,提供收费的服务和支持。而DBSight并不开放源代码,虽然有免费版本可以使用。
综上所述,因为sphinx与DBSight都提供了针对不同平台的支持,因此夸平台对二者都不是选择的重点。笔者感觉如果并不想以来Java或者说应用本身并不适采用Java搭建的或许Sphinx是个不错的选择。如果应用本身就是Java搭建的,而又没有足够的精力自己去开发全文检索功能,那么DBSight会是最合适的。
Sphinx 1.10 beta下载地址:
Sphinx 1.10下载
[ad#468-60]