环境: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. Ubuntu环境下使用Maven编译并打包Java项目

    一.安装Maven 打开终端输入以下指令: $ mvn -v Apache Maven Maven home: /usr/share/maven Java version: 1.8.0_181, ve ...

  2. CodeForces 258D Little Elephant and Broken Sorting(期望)

    CF258D Little Elephant and Broken Sorting 题意 题意翻译 有一个\(1\sim n\)的排列,会进行\(m\)次操作,操作为交换\(a,b\).每次操作都有\ ...

  3. P3718 [AHOI2017初中组]alter

    贪心+二分答案 二分最终答案长度 主要问题在check上 ~~我代码写得巨丑,大家还是不要看我的代码了~~ ------------ 1:当mid大于1的时候,贪心策略是这样的: 当前连续的长度大于m ...

  4. leetcode-337-打家劫舍三*

    题目描述: 方法一:递归 # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): ...

  5. 扩展kmp板子

    using namespace std; #include <cstdio> #include <cstring> #include <algorithm> #de ...

  6. 下面分享一下RHEL/CentOS7 安装图形化桌面详细图解

    Linux是一个多任务的多用户的操作系统,好多linux爱好者在安装完linux后经常遇到一个问题——没有图形化桌面(http://www.xcmnyy.com)今天小编在安装RHEL7的时候,一步留 ...

  7. Android基础控件Button的使用

    1.相关属性 Android的按钮有Button和ImageButton(图像按钮),Button extends TextView, ImageButton extends ImageView! a ...

  8. DataGridView绑定DataTable的正确姿势

    1. 将DataTable 绑定到BindingSource 2. 将BindingSource绑定到DataGridView 3. DataGridView修改完要从Datatable取值时,同步过 ...

  9. Eclipse反编译插件jd-eclipse安装指南

    Java Decompiler是一款比较好用的反编译工具,包括: JD-GUI:独立java编译工具 JD_Eclipse:用于Eclipse的反编译插件 下面主要介绍jd-eclipse的获取和安装 ...

  10. 《DSP using MATLAB》Problem 8.12

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