标签:
1.安装
1.01:到官网下载 coreseek-3.2.14
1.02:安装
1、下载后解压得到源程序目录 coreseek-3.2.14 ,文件夹重命名一下,简单一些,命名为 coreseek;将 coreseek 文件夹移动到 F:my-php\test\下(位置随意);
2、“开始”——>“运行”——>输入cmd,打开命令行窗口——>执行 "F: 回车"——>执行 "cd www\coreseek\",进入到 coreseek目录下;
3、执行 "set PATH=?%\bin;%PATH%"。设置path,目的是为了能够调用bin目录下的 cat.exe、iconv.exe 等;
4、首先创建索引:
4.1:修改配置文件.\coreseek\etc\csft_mysql.conf (我用的mysql源) 如下:
#MySQL数据源配置
#源定义
source mysql
{
type = mysql
sql_host = 127.0.0.1
sql_user = root
sql_pass =
sql_db = php
sql_port = 3306
sql_query_pre = SET NAMES utf8
sql_query = SELECT o_id, o_name, o_title FROM otest WHERE o_start = 1
#sql_query第一列id需为整数
#title、content作为字符串/文本字段,被全文索引
sql_query_info_pre = SET NAMES utf8 #命令行查询时,设置正确的字符集
sql_query_info = SELECT * FROM otest WHERE o_id=$id #命令行查询时,从数据库读取原始数据信息
}
其他的 几个部分 只要将相对路径改为绝对路径就OK了不在进行其他的操作
4.2在命令行窗口进行索引创建 执行命令如下: bin\indexer -c etc\csft_mysql.conf --all
5、将 searchd 安装成为一个服务。执行命令如下: bin\searchd -c etc\csft_mysql.conf
成功如下:
2:使用
header("content-type:text/html;charset=utf-8");
//获取到搜索的数据
$keyword = $_POST[‘search‘];
//实例化sphinx类
$sphinx = new SphinxClient();
//开启服务
$sphinx->SetServer("localhost",9312);
$sphinx->SetMatchMode(SPH_MATCH_ANY);
//执行数据搜索
$result=$sphinx->query("$keyword","*");
//获取到索引里对应的数据
$key = array_keys($result[‘matches‘]);
//转化为字符串
$ids = implode(‘,‘,$key);
//连接数据库
$conn = mysql_connect(‘localhost‘,‘root‘,‘root‘)or die(‘mysql connect failed‘);
//选择数据库
mysql_select_db(‘test‘);
//设置字符集
mysql_set_charset(‘utf8‘,$conn);
//设置查询数据
$sql = "select * from otest where o_id in($ids)";
//执行查询语句
$res = mysql_query($sql);
//设置 要追加的标签
$opt = array("before_match"=>"<font style=‘font-weight:bold;color:#f00‘>","after_match"=>"</font>");
//循环 数据 然后追加标签
while($row=mysql_fetch_assoc($res)){
$data[] = $sphinx->buildExcerpts($row,‘mysql‘,$keyword,$opt);
}
//打印数据
print_r($data);
//关闭服务
$spinx->close();
运行结果展示如下:
标签:
原文地址:http://www.cnblogs.com/laowenBlog/p/5251855.html