1、下载coreseek, 将名字命名为coreseek, 找到coreseek/etc/csft_mysql.conf ,配置csft_mysql.conf,配置成如下:
#MySQL数据源配置,详情请查看:http://www.coreseek.cn/products-install/mysql/
#请先将var/test/documents.sql导入数据库,并配置好以下的MySQL用户密码数据库
#源定义
source tour
{
type = mysql
sql_host = localhost
sql_user = root
sql_pass = root
sql_db = zhongguo
sql_port = 3306
sql_query_pre = SET NAMES utf8
sql_query = SELECT tid, t_cid, t_title,t_name,t_detail FROM tp_tour
#sql_query第一列id需为整数
#title、content作为字符串/文本字段,被全文索引
sql_query_info_pre = SET NAMES utf8 #命令行查询时,设置正确的字符集
#sql_query_info = SELECT * FROM documents WHERE id=$id #命令行查询时,从数据库读取原始数据信息
}
#index定义
index tour
{
source = tour #对应的source名称
path = e:\site\coreseek\data\tour #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
docinfo = extern
mlock = 0
morphology = none
min_word_len = 1
html_strip = 1
#中文分词配置,详情请查看:http://www.coreseek.cn/products-install/coreseek_mmseg/
#charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾
charset_dictpath =e:\site\coreseek\etc\ #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/...
charset_type = zh_cn.utf-8
}
#全局index定义
indexer
{
mem_limit = 128M
}
#searchd服务定义
searchd
{
listen = 9312
read_timeout = 5
max_children = 30
max_matches = 1000
seamless_rotate = 0
preopen_indexes = 0
unlink_old = 1
pid_file =e:\site\coreseek\var\log\searchd_mysql.pid #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
log = e:\site\coreseek\var\log\searchd_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
query_log = e:\site\coreseek\var\log\query_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
}
2、安装searchd服务,将文件移入到e:/site/目录下,目录是随意的,自己可以随意放,打开cmd命令窗口,执行e:,在执行cd \site\coreseek\ ,进入coreseek目录下,
执行 "set PATH=%CD%\bin;%PATH%"。设置path,目的是为了能够调用bin目录下的 cat.exe、iconv.exe 等
将 searchd 安装成为一个服务。执行 "bin\searchd --install --config e:/site/coreseek/etc/csft_mysql.conf",安装成功后命令行窗口会提示" services searchd installed successfully".
3、建立索引
建立索引
e:\site\coreseek\bin\indexer -c e:\site\coreseek\bin\csft_mysql.conf --all #csft_mysql.conf就是刚刚我们的配置文件
4、测试搜索,
e:\site\coreseek\bin\search -c e:\site\coreseek\bin\csft_mysql.conf 搜索字符串
例如:e:\site\coreseek\bin\search -c e:\site\coreseek\bin\csft_mysql.conf 中国
e:\site\coreseek\bin\search -c e:\site\coreseek\bin\csft_mysql.conf 美国
5、在php中搜索
<?php
header("Content-type:text/html;charset=utf-8");
//var_dump(__ROOT__.'/Home/Tpl/Public/sphinxapi.php');
include getcwd().'/Home/Tpl/Public/sphinxapi.php';
$cl = new SphinxClient();
$cl->SetServer('localhost',9312);
$cl->SetMatchMode(SPH_MATCH_ALL);
$cl->SetArrayResult(true);
$res = $cl->Query("的","*");
echo "<pre>";
var_dump($res);
echo "</pre>";
//
include 'sphinxapi.php';
// $s = new SphinxClient;
// $s->setServer("localhost", 9312);
// $res = $s->query('ddddddd', 'tour');
// echo "<pre>";
// var_dump($res);
// echo "</pre>";
// $ids = array_keys($res['matches']);
// var_dump($ids);