给网站配上全文搜索引擎Sphinx的翅膀

时间:13-08-08 栏目:SEO工具, 数据库 作者:kyle 评论:0 点击: 6,771 次

由于网站的需要,准备搭个Sphinx做为全文搜索的结果。

有2种使用方法,直接切入正题吧。

一、下载官方版,支持英文很好。

打开http://sphinxsearch.com/ 在Downloads,Beta里找到最新的 Sphinx 2.11 Beta。系统是Ubuntu,所以直接复制下载地址:http://sphinxsearch.com/downloads/accept.php?file=sphinxsearch_2.1.1-beta-0ubuntu11~precise_amd64.deb

然后进SSH:wget ***来下载,结果下载出错了。。。。坑爹。原来这个下载URL还得填个表才能下载。

没办法,在Windows下载好了,上传到Linux去吧。

使用Deb包安装:

dpkg -i <package.deb> #安装一个 Debian 软件包
安装好了之后,在/usr/share下面。具体的使用看官方的介绍吧。这个不做深入学习

 

二、下载中文支持版,本文的重点。

打开中文支持的站点:http://www.sphinx-search.com/,其实下面的详细的教程

1、wget http://sphinx-for-chinese.googlecode.com/files/sphinx-for-chinese-2.1.0-dev-r3361.tar.bz2

2、 tar -xvf sphinx-for-chinese-2.0.2-dev-r2894.tar.gz

3、cd sphinx-for-chinese-2.0.2-dev-r2894

4、./configure --prefix=/usr/local/sphinx-for-chinese –with-mysql --with-mysql #编译mysql支持

好了,到这步提示出错了。

1

没有mysql include files。

下面的建议是安装包mysql –devel。

OK,我们来试试

安装失败,百度一下,找到解决方案。需要在后面编译的时候指定mysql目录,搞个毛呀,我也不知道mysql安装在哪儿。

OK,find一下。

2

找到这个小娘皮了。去看看是不是MySQL的目录。

OK,在/var/lib/mysql/下面

测试了半天依然提示出错,Ubuntu编译的源码,配置和程序分开在不同的地方,

后面找到解决方案:

./configure --prefix=/usr/local/sphinx-for-chinese --with-mysql-includes=/usr/include/mysql
不解释,直接执行。提示Configuration done。

OK,下一步,折腾了1个小时,操蛋。就这一个简单的东西

还有一种方案是:

./configure --prefix=/usr/local/sphinx-for-chinese --with-mysql-libs=/usr/lib/mysql

没有测试,万一遇到再测试

5、make

6、make install

然后,报了一堆东西,也不知道安装成功了,没有。

先进行下一步,没成功再回过来看。

开始配置中文支持

7、wget http://sphinx-for-chinese.googlecode.com/files/xdict_1.1.tar.gz

8、tar -xvf xdict_1.1.tar.gz

9、/usr/local/sphinx-for-chinese/bin/mkdict xdict_1.1.txt xdict #从xdict_1.1.txt生成xdict文件,xdict_1.1.txt文件可以根据需要进行修改

10、cp xdict /usr/local/sphinx-for-chinese/etc/ #新生成的字典复制过去

11、修改sphinx.conf在/usr/local/sphinx-for-chinese/etc/ 下面

cp sphinx.conf.dist sphinx.conf #把配置提取出来

vi /etc/sphinxsearch/sphinx.conf  #修改配置

然后修改charset_type = sbcs改为下面2行

charset_type = utf-8
chinese_dictionary = /usr/local/sphinx-for-chinese/etc/xdict

OK ,中文配置处理完了。现在做测试

12、进入mysql –uroot –p密码,

然后创建一个Test数据库

create database test;
然后
修改/usr/local/sphinx-for-chinese/etc/example.sql
3

就是加点中文进行测试而已。
然后
13、mysql –uroot –p密码 < example.sql
把sql的内容导入数据库

14、建立索引

/usr/local/sphinx-for-chinese/bin/indexer –all #注意all的前面是2个-符号

15、测试

/usr/local/sphinx-for-chinese/bin/search ‘一个人或者二个人‘

 

测试还有点问题,先写到这里,后面再补充,正常情况下应该是可以使用了。估计是配置有什么地方还要改改。

 

2013.8.11更新。

Sphinx是search模块有问题,去官方下载一个原版sphinx,然后把压缩包里面的api目录下面的sphinxapi.php和test.php和test2.php上传到空间,

执行php test.php test,OK成功。

坑爹,search程序有问题,需要使用API来访问,API在PHP文件中,所以得下载PHP来执行。一直以为是自己搞错了,看来是程序的原因。

 

反正可以使用了,留个记录备注一下,下次遇到也可以快速解决。

成都SEO小五嚎2句: 本文是(成都SEO小五)辛苦弄出来的,转载成都SEO小五原创的请保留链接: 给网站配上全文搜索引擎Sphinx的翅膀,3Q

给网站配上全文搜索引擎Sphinx的翅膀:等您坐沙发呢!

来给哥评论评论


------====== 小五公告 ======------
成都SEO小五,专注成都搜索引擎优化。
小五善长站内外优化,C#、PHP开发,中英文SEO,Google中英文和百度优化技术。欢迎群内交流。伸手党请绕路,求资源的请绕开,求问题解答的请进群内交流。开放了一个QQ交流群:160750032。加入验证时请标注任何SEO相交字眼。友情链接直接Q我,收录正常,内容大部份原创、SEO或者程序开发、网络营销、线上推广等相关行业即可。

常用工具

赞助广告

来看过哥的人