#
# Minimal Sphinx configuration sample (clean, simple, functional)
#
source v9 //自定义的名字
{
type = mysql //类型
sql_host = localhost //服务器
sql_user = root //用户名
sql_pass = 123456 //密码
sql_db = phpcms //数据库
sql_port = 3306 # optional, default is 3306 //数据库的端口号
sql_query_pre = set names utf8 //设置字符集
sql_query = SELECT searchid,adddate,data from v9_search //查询那个表
sql_attr_uint = searchid //从sql中读出的值必须是整数
sql_attr_timestamp = adddate //从sql中读出的值必须是整数,作为时间属性
sql_query_info_pre = set names utf8
sql_query_info = SELECT * FROM v9_search WHERE searchid=$id //从数据库中读取原始数据
}
index v9
{
source = v9 //对应source v9的名称
charset_dictpath = /usr/local/mmseg/etc/ //#BSD、Linux环境下设置,/符号结尾
path = /usr/local/coreseek/var/data/test1
docinfo = extern
charset_type = zh_cn.utf-8
}
//全局index定义
indexer
{
mem_limit = 32M //设置内存大小
}
//searchd服务定义
searchd
{
port = 9312 //端口号
log = /usr/local/coreseek/var/log/searchd.log //日志
query_log = /usr/local/coreseek/var/log/query.log //查询日志
read_timeout = 5 //请求超时
max_children = 30 //同时可执行的最大searchd 进程数
pid_file = /usr/local/coreseek/var/log/searchd.pid 进程ID文件
max_matches = 1000 // 查询结果的最大返回数
seamless_rotate = 1 //是否支持无缝切换,做增量索引时通常需要(0/1)
preopen_indexes = 0
unlink_old = 1
}
bin/searchd -c etc/csft_v9.conf & 开启sphinx
pkill -9 searchd 关闭sphinx
//引入类文件
require ( "sphinxapi.php" );
//实例类
$cl = new SphinxClient ();
//连接服务器
$cl->SetServer ( '192.168.1.250', 9312);
//超时时间3秒,3秒连不上放弃
$cl->SetConnectTimeout ( 3 );
//是以数组形式返回结果。
$cl->SetArrayResult ( true );
//设置全文查询的匹配模式
$cl->SetMatchMode ( SPH_MATCH_ANY);
SPH_MATCH_ALL 匹配所有查询词(默认模式).
SPH_MATCH_ANY 匹配查询词中的任意一个.
SPH_MATCH_PHRASE 将整个查询看作一个词组,要求按顺序完整匹配.
SPH_MATCH_BOOLEAN 将查询看作一个布尔表达式.
SPH_MATCH_EXTENDED 将查询看作一个Sphinx内部查询语言的表达式.
SPH_MATCH_FULLSCAN 使用完全扫描,忽略查询词汇.
SPH_MATCH_EXTENDED2 类似 SPH_MATCH_EXTENDED ,并支持评分和权重.
根据关键词搜索
$res = $cl->Query ( '北京', "*" );
sphinx建立索引
最新推荐文章于 2024-07-31 11:01:16 发布