在GNU/Linux/unix系统上安装Sphinx

2017-05-22 08:35:24 7483

Sphinx在mysql上的应用有两种方式:
①、采用API调用,如使用PHP、java等的API函数或方法查询。优点是可不必对mysql重新编译,服务端进程“低耦合”,且程序可灵活、方便的调用;
缺点是如已有搜索程序的条件下,需修改部分程序。推荐程序员使用。
②、使用插件方式(sphinxSE)把sphinx编译成一个mysql插件并使用特定的sql语句进行检索。其特点是,在sql端方便组合,且能直接返回数据给客户端
不必二次查询(注),在程序上仅需要修改对应的sql,但这对使用框架开发的程序很不方便,比如使用了ORM。另外还需要对mysql进行重新编译,且需要mysql-5.1以上版本
支持插件存储。系统管理员可使用这种方式
二次查询注:到现在发布版本为止——sphinx-0.9.9,sphinx在检索到结果后只能返回记录的ID,而非要查的sql数据,故需要重新根据这些ID再次从数据库中查询,
正在开发的sphinx 0.9.10版本已可存储这些文本数据,作者曾试过,性能和存储上的效果都不佳,毕竟还没出正式版

本文采用的是第一种方式

在*nix系统下安装,首先需要以下一些软件支持

软件环境:

  • 操作系统:Centos-5.2

  • 数据库:mysql-5.0.77-3.el5 mysql-devel(如果要使用sphinxSE插件存储请使用mysql-5.1以上版本)

  • 编译软件:gcc gcc-c++ autoconf automake

  • Sphinx :Sphinx-0.9.9 (最新稳定版 )

安装:

  • [root@localhost ~]# yum install -y mysql mysql-devel

  • [root@localhost ~]# yum install -y automake autoconf

  • [root@localhost ~]# cd /usr/local/src/

  • [root@localhost src]# wget http://www.landui.com/downloads/sphinx-0.9.9.tar.gz

  • [root@localhost src]# tar zxvf sphinx-0.9.9.tar.gz

  • [root@localhost local]# cd sphinx-0.9.9

  • [root@localhost sphinx-0.9.9]# ./configure –prefix=/usr/local/sphinx #注意:这里sphinx已经默认支持了mysql

  • [root@localhost sphinx-0.9.9]# make && make install # 其中的“警告”可以忽略

安装完毕后查看一下/usr/local/sphinx下是否有 三个目录 bin etc var,如有,则安装无误!


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: