有三个步骤
1.讲searchd进程写成一个服务,不然每次调用都要打开这个进程很麻烦。
g:\service\coreseek\bin\searchd --install --config g:/service/coreseek/etc/csft_mysql.conf --servicename Coreseek
同样的万变不离其宗还是跟配置文件有关系
一个参数是你searchd的路径 ,第二个固定是--install,第三个是指后面跟配置文件--config,第三个是配置文件路径 后面是定义服务名称,不写也行,默认是searchd。
2.赋值接口文件,将 api 目录下的php接口文件 sphnixapi.php 复制到网站根目录下,因为可以看源码,其实就是一个类
3.写文件调用sphnixapi.文件
<html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>coreseek中文全文搜索在php程序中的应用</title> </head> <body> <h3><font color="blue">coreseek全文搜索在php程序中应用</font></h3> <form action="index.php" method="post"> 输入搜索的关键词:<input type="text" name="keyword" /><input type="submit" name="sub" value="搜索" /> </form> <hr /> <?php require('sphinxapi.php'); if(isset($_POST['sub'])){ $keyword = $_POST['keyword'];//接收关键词 $sph = new SphinxClient();//创建sphinx对象 $sph->SetServer('localhost',9312);//连接9312端口 /* 设置匹配模式 SPH_MATCH_ANY:表示只要搜索拆词后,其中某个词,就匹配出来。如:搜索引擎,只要包含“搜索"或"引擎"其中一个词,就可以匹配 SPH_MATCH_ALL:完整匹配。如搜索“搜索引擎”,需要完整出现“搜索引擎”这个词,才能匹配 */ $sph->SetMatchMode(SPH_MATCH_ANY); $result = $sph->query($keyword,"person");//执行搜索操作。news 表示索引名。如果需要在 csft_mysql.conf里所有的索引里搜索,则用 * 代替 echo "<pre>"; print_r($result);//返回值为数组,先打印出来看看 } ?> </body> </html>