1.首先我们把coreseek下载好,命名为coreseek,我们找到coreseek/etc中的csft_mysql.conf修改这个配置文件
#源定义
source lemai
{
type = mysqlsql_host = localhost
sql_user = root
sql_pass = 123
sql_db = lemai
sql_port = 3306
sql_query_pre = SET NAMES utf8sql_query = SELECT id, title,content,name FROM shop
#sql_query第一列id需为整数
#title、content作为字符串/文本字段,被全文索引
sql_attr_uint = sid #从SQL读取到的值必须为整数
sql_attr_timestamp = time #从SQL读取到的值必须为整数,作为时间属性sql_query_info_pre = SET NAMES utf8 #命令行查询时,设置正确的字符集
sql_query_info = SELECT * FROM shop WHERE name=$id #命令行查询时,从数据库读取原始数据信息
}#index定义
index lemai
{
source = lemai #对应的source名称
path = var/data/mysql #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
docinfo = extern
mlock = 0
morphology = none
min_word_len = 1
html_strip = 0min_infix_len = 1 #搜索英文、数字
#中文分词配置,详情请查看:http://www.coreseek.cn/products-install/coreseek_mmseg/
#charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux环境下设置,/符号结尾
charset_dictpath = C:/AppServ/www/thinkphp/ThinkPHP/Extend/Vendor/Coreseek/etc/ #Windows环境下设置,/符号结尾,最好给出绝对路径,例如:C:/usr/local/coreseek/etc/...
charset_type = zh_cn.utf-8
#charset_table =
ngram_len = 0
}#全局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 = var/log/searchd_mysql.pid #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
log = var/log/searchd_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
query_log = var/log/query_mysql.log #请修改为实际使用的绝对路径,例如:/usr/local/coreseek/var/...
}
2.然后把coreseek拷贝一份到thinkphp的核心文件Vendor/coreseek下.
3.在cmd命令行创建sphinx索引
indexer.exe -c 配置文件 --all(参数--all 表示创建全部索引)
binindexer.exe -c etccsft_mysql.conf --all
启动searchd 服务 searchd.exe -c 配置文件
binsearchd.exe -c etccsft_mysql.conf
4.php代码实现
Vendor("Coreseek.api.sphinxapi"); //其中同样包含 tp3.2中如何引入第三方类
$s = new SphinxClient();
$s->SetServer("127.0.0.1", 9312);
$s->SetMatchMode(SPH_MATCH_ALL);
$rs = $s->Query('饭锅',"*");
echo "<pre>";
print_r($rs);