环境:win7 64 wamp

解压sphinx安装包后,简历如下结构。注意,conf目录是我的配置文件目录

在conf目录下,简历newdefend.conf文件,配置内容如下

# 配置数据源
source domain_src
{
type = mysql
sql_host = 192.168.185.210
sql_user = root
sql_pass =
sql_db = mydb
sql_port = sql_ranged_throttle =
sql_query_pre = SET NAMES utf8
# sql_query_pre = SET SESSION query_cache_type=OFF
sql_query_pre = REPLACE INTO sph_counter SELECT , MAX(id) FROM domain
   # 注意这个地方,至少要有各自字段没有定义成sql_attr_***,好像是需要有一个字段是全文索引什么的。反正多查询一个字段就对了。或者定义一个sql_field_string也可以
sql_query = SELECT id,uid,type,package_level,ct,domain FROM domain \
WHERE id<=( SELECT max_id FROM sph_counter WHERE counter_id = )
sql_attr_uint = uid
sql_attr_uint = type
sql_attr_uint = package_level
# sql_field_string = ct
sql_attr_timestamp = ct
} # 配置增量数据源
source delta_domain_src:domain_src{
sql_ranged_throttle =
sql_query_pre = SET NAMES utf8
# sql_query_pre = SET SESSION query_cache_type=OFF
sql_query = SELECT id,uid,type,package_level,ct,domain FROM domain \
WHERE id>( SELECT max_id FROM sph_counter WHERE counter_id = )
} # 索引
index domain_suggest
{
source = domain_src
path = D:/sphinx/data/domain_suggest
charset_table = .., A..Z->a..z, _, a..z, U+..U+42F->U+..U+44F, U+..U+44F
docinfo = extern
dict = keywords
mlock =
morphology = none
min_word_len =
ngram_len =
ngram_chars = U+..U+2FA1F
html_strip =
} # 增量索引
index delta_domain_suggest:domain_suggest {
source = delta_domain_src
path = D:/sphinx/data/delta_domain_suggest
} indexer
{
mem_limit = 128M
} # 配置Sphinx服务器的信息
searchd
{
listen =
listen = :mysql41
log = D:/sphinx/log/searchd.log
query_log = D:/sphinx/log/query.log
read_timeout =
client_timeout =
max_children =
persistent_connections_limit =
pid_file = D:/sphinx/log/searchd.pid
preopen_indexes =
unlink_old =
mva_updates_pool = 1M
max_packet_size = 8M
max_filters =
max_filter_values =
max_batch_queries =
workers = threads # windows下启动searchd服务一定要注释掉这个
  # seamless_rotate = # 开启sphinx服务时,会生成几个log文件,这里配置文件生成目录。默认会生成在searchd.exe同级目录下
binlog_path = D:/sphinx/log/
}

定义一个启动sphinx的脚本“sphinx重启.bat”。脚本内容如下,双击启动

@echo off 

::停止sphinx服务
d:/sphinx/bin/searchd --stop ::建立配置文件中所有索引(也可以建立某个索引)
d:/sphinx/bin/indexer -c d:/sphinx/conf/newdefend.conf --all ::启动sphinx服务
d:/sphinx/bin/searchd -c d:/sphinx/conf/newdefend.conf ::窗口不要关闭
pause

启动成功界面

测试代码

$keyword = '';
$sphinx = new SphinxClient;
$sphinx->setServer("localhost", 9312);
$sphinx->setMatchMode(SPH_MATCH_ALL); //匹配模式 ANY为关键词自动拆词,ALL为不拆词匹配(完全匹配)
$sphinx->SetArrayResult ( true ); //返回的结果集为数组
$result = $sphinx->query($keyword,"domain_suggest delta_domain_suggest"); //星号为所有索引源
$count=$result['total']; //查到的结果条数
$time=$result['time']; //耗时
$arr=$result['matches']; //结果集
$id='';
foreach($arr as $i => $val){
$id.=$arr[$i]['id'].',';
}
$id=substr($id,0,-1); //结果集的id字符串 echo $id;

运行结果

最新文章

  1. Spring Web
  2. Ctrl+Scroll改变所有Editor的缩放比例 (Code::Blocks)
  3. Asp.net把UTF-8编码转换为GB2312编码
  4. 1001Sum Problem
  5. 数往知来C#面向对象准备〈二〉
  6. mac ide
  7. 升级ADT22.6后,Android模拟器无法创建
  8. navicate恢复数据
  9. zepto 获取select选中的值
  10. 【bzoj3772】精神污染
  11. Redis 小记
  12. 实现无缝兼容ajax/websocket网页应用和服务
  13. 小白Monkey学习笔记
  14. C# 数据推送 实时数据推送 轻量级消息订阅发布 多级消息推送 分布式推送
  15. RF
  16. Java知多少(47)多重catch语句的使用
  17. python基础7--集合
  18. 字符串在内存中的存储——C语言进阶
  19. Socket协议通讯
  20. 初始化一个Express项目

热门文章

  1. 判断语句(if...else)if...else语句是在指定的条件成立时执行代码,在条件不成立时执行else后的代码
  2. Linux-c线程创建
  3. minutia cylinder code MCC lSSR 匹配算法
  4. 廖雪峰Java12maven基础-2maven进阶-2模块管理
  5. position:fixed失效问题
  6. Spring容器管理各种文件
  7. 百度ueditor解决页面组件被覆盖问题
  8. JZOJ5966【NOIP2018提高组D2T3】保卫王国(并查集)
  9. 最小费用最大流——ZKW
  10. CF集萃3