环境: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;

运行结果

PHP搜索优化 sphinx 实战的更多相关文章

  1. PHP搜索优化 sphinx 搭建测试

    安装.环境:win7 64位 1.下载sphinx文件包 下载地址:http://sphinxsearch.com/downloads/archive/ 2.解压到D:/sphinx.新建文件夹dat ...

  2. seo搜索优化教程14-seo搜索优化实战

    为了使大家更方便的了解及学习网络营销推广.seo搜索优化,星辉信息科技强势推出seo搜索优化教程.此为seo教程第14课 根据前面学习的seo搜索优化内容,星辉科技进行总结性的分析,形成一份标准的se ...

  3. 一次 ElasticSearch 搜索优化

    一次 ElasticSearch 搜索优化 1. 环境 ES6.3.2,索引名称 user_v1,5个主分片,每个分片一个副本.分片基本都在11GB左右,GET _cat/shards/user 一共 ...

  4. HDFS配置参数及优化之实战经验(Linux hdfs)

    HDFS优化之实战经验 Linux系统优化 一.禁止文件系统记录时间 Linux文件系统会记录文件创建.修改和访问操作的时间信息,这在读写操作频繁的应用中将带来不小的性能损失.在挂载文件系统时设置no ...

  5. 【随笔】Android应用市场搜索优化(ASO)

    参考了几篇网上的关于Android应用市场搜索优化(ASO)的分析,总结几点如下: 优化关键字:举例目前美团酒店在各Android市场上的关键字有“美团酒店.钟点房.团购.7天”等等,而酒店类竞对在“ ...

  6. 针对TianvCms的搜索优化文章源码(无版权, 随便用)

    介绍: 搜索优化虽然不是什么高深的技术, 真正实施起来却很繁琐, 后台集成搜索优化的文章可以便于便于管理, 也让新手更明白优化的步奏以及优化的日常. 特点: 根据自己的经验和查阅各种资料整理而成, 相 ...

  7. seo搜索优化教程09 - seo搜索优化外链优化

    为了使大家更方便的了解及学习网络营销推广.seo搜索优化,星辉科技强势推出seo搜索优化教程.此为seo教程第九课 网络营销推广中有句行话,叫做"内容为王,外链为王",可见外链对于 ...

  8. seo搜索优化教程10-黑帽SEO

    为了使大家更方便的了解及学习网络营销推广.seo搜索优化,星辉科技强势推出seo搜索优化教程.此为seo教程第十课 学习黑帽SEO并不是教大家如何作弊,而是想让大家避免使用黑帽SEO手法,从而导致被搜 ...

  9. seo搜索优化教程11-seo搜索优化关键词策略

    为了使大家更方便的了解及学习网络营销推广.seo搜索优化,星辉科技强势推出seo搜索优化教程.此为seo教程第11课 关键词在seo搜索优化中有着重要的地位,本节主要讲解seo搜索优化中关键词优化的相 ...

随机推荐

  1. JS规则 表达出你的想法(表达式) 通常包括常数和变量 var num2 = num1+6;

    表达出你的想法(表达式) 表达式与数学中的定义相似,表达式是指具有一定的值.用操作符把常数和变量连接起来的代数式.一个表达式可以包含常数或变量. 我们先看看下面的JavaScript语句: 生活中&q ...

  2. ListControl 设置表格行高与字体

    设置行高: CImageList   m_l;  m_l.Create(1,18,TRUE|ILC_COLOR32,1,0);   listCtrl.SetImageList(&m_l,LVS ...

  3. codevs1222 信与信封的问题

    二分图匹配. 先匹配一次,一定是完美匹配.然后枚举每条边,去掉它,若是不能完美匹配,这条边就必须. #include<cstdio> #include<cstring> #in ...

  4. 关于SqlServer的内连接,外链接以及left join,right join之间的一些问题与区别。

    就我个人理解通俗点来说内连接和外连接区别: 内连接 inner join或者 join (被默认为内连接) : 内连接的原理是:先进行语句判断和运行得出结果,然后在将结果连接起来,一般是横着连接. 外 ...

  5. mac下安装Python的工具包pip

    1. 在终端下输入 sudo easy_install pip  password:输入电脑密码 Finished processing dependencies for pip 表示安装完成 boe ...

  6. java最大余数法(百分比算法Echarts)

    最近工作中使用Echarts开发报表的时候遇到了这样的一个问题,需求是一个div中左边是一个环形图表,右边是一个表格,表格中展示图表中每个类别占用的百分比.存在的问题:1.当存在四舍五入的时候,Ech ...

  7. Maven实战08_仓库

    何为Maven仓库 在Maven世界中.任何一个依赖.插件或者项目构建的输出,都可以称之为构件.例如依赖log4j-1.2.15.jar是一个构件,差价maven-compile-plugin-2.0 ...

  8. DSP using MATLAB》Problem 8.16

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  9. appscan如何扫描移动应用APP

    1.前置条件:让手机和电脑处于同一WIFI下 1打开appscan,选择手动探索/外部设备. 2在弹出的对话框页面点击右上角“记录代理配置”. 3在弹出的页面选择记录代理页签,设置Appscan代理端 ...

  10. 手机端META详细解释

    一.天猫 <title>天猫触屏版</title> <meta content="text/html; charset=utf-8" http-equ ...