Sphinx在window下的初步安装和配置

懵懂的女人 提交于 2020-04-04 06:45:01

  前几天在网上找安装sphinx的资料,没有找到很全面的,不是这走不通就是那不通,今天总算整出来了,整理一下。

  1. 直接在 http://www.sphinxsearch.com/downloads.html  到最新的 windows 版本,我这里下的是 Win32 release binaries with MySQL support ,下载后解压在 D:/sphinx 目录下;

  2. D:/sphinx/ 下新建一个 data 目录用来存放索引文件, 一个 log 目录方日志文件,复制D:/sphinx/sphinx.conf.in  D:/sphinx/bin/sphinx.conf (注意修改文件 名);

  3.配置在这就不多说了,网上很多,而且这一步基本都是对的

  4.导入测试数据  sql 文件在 D:/sphinx/example.sql   (这应该不难)

  5.建立索引

  D:/sphinx/bin>indexer.exe test1 ( 备注 :test1 索引名,  sphinx.conf  index test1(),关于这个,我刚开始看到的是在这运行indexer.exe -all,但是会报错,后来看到这个indexer.exe test1,运行,成功 )

  

  6.搜索 ’test’ 试试

  D:/sphinx/bin>search.exe test

  显示结果如下

  

  7.测试中文搜索

  修改 test 数据库中 documents 数据表,

  UPDATE `test`.`documents` SET `title` = ‘ 测试中文 ’, `content` = ‘this is my test document number two ,应该搜的到吧 ’ WHERE `documents`.`id` = 2;

  重建索引:

  D:/sphinx/bin>indexer.exe test1

  搜索  中文  试试:

  D:/sphinx/bin>search.exe 中文 

  

  貌似没有搜到,这是因为 windows 命令行中的编码是 gbk ,当然搜不出来。我们可以用程序试试,在D:/sphinx/api 下新建一个 foo.php 的文件,注意 utf-8 编码

  

  启动 Sphinx searchd 服务

  D:/sphinx/bin>searchd.exe  

  

  备注:在这里说明下,在cmd下启动sphinx服务,我这一步没有成功,提示错误是“This program (CLI search) is for testing and debugging purposes only”,意思是仅供测试和调试用,不知是何原因,解决办法是将sphinx安装成window服务,方法是在bin目录下运行

  D:\Sphinx\bin>Searchd.exe --install  --Config d:/sphinx/bin/sphinx.conf

  这样做还有个好处,就可以不用一定要在CMD中打开一个Searchd.exe才能在PHP中调用Sphinx。

 

  执行 PHP 查询(访问刚才的foo.php文件即可,注意引用的sphinxapi.php的路径):

  访问 http://www.test.com/sphinx/api/foo.php ( 自己配置的虚拟主机 )

  页面中就会输出找到的信息了,其中一部分是:

  

  看到了吗,它将“中文”分成2个字了,呵呵,这是因为我们还没用中文分词,它只能一个一个字的处理了,关于中文分词和其它高级配置以后再讲吧。

  到此sphinx基本就可以简单运行了!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!