PHP读取sphinx 搜索返回结果完整实战实例

网上搜索N久都没有一个正在读取返回sphinx结果的实例,都是到了matches那里就直接var_dump或者print_r了,没有读取到字段的例子,困扰了很久

结果分析测试最终搞出来了,这里分享下,其他的网上有的就不多说了,直接上代码吧(CI框架的)

可以查看本人百度经验:php CI 实战教程:[1]完整解析sphinx返回结果_百度经验
http://jingyan.baidu.com/article/6f2f55a18436a2b5b83e6c46.html

Model类方法:

function getResultByTag($keyword = "") {
$query = array ();
try {
$cl = new SphinxClient ();
$cl->SetServer ( 'localhost', 9312 ); // 注意这里的主机
$cl->SetMatchMode ( SPH_MATCH_EXTENDED ); // 使用多字段模式
$index = "site";
$query = $cl->Query ( $keyword, $index );
$cl->close ();
// $query = $result ['matches'];
// if ($result ['total'] > 0) {
// // var_dump($result ['matches']);
// // 根据打印出的结果进行相应的读取
// }
} catch ( Exception $e ) {
}
return $query;
}

Control类方法

$result = $this->tagsmodel->getsitesByTag($name);
if ($result['total'] > 0) {
$sites = $result['matches'];
}else{
$sites = array ();
}
$data['total'] = $result['total'];
$data['sites'] = $sites;

View 对应代码

 <?php foreach($sites as $row){ $site = $row["attrs"]; ?>
<div class="listitem">
<a title="<?=$site["sname"]?>" href="<?=$site["url"]?>" target="_blank"><?=$site["sname"]?></a>
<span>更新时间:<?=date("Y-m-d H:i",$site["update_time"])?></span>
</div>
<?php }?>

为了更直观也把dump 的结果贴出来(去掉了部分结果内容)

array(10) {
["error"]=>
string(0) ""
["warning"]=>
string(0) ""
["status"]=>
int(0)
["fields"]=>
array(3) {
[0]=>
string(7) "orderid"
[1]=>
string(11) "description"
[2]=>
string(7) "content"
}
["attrs"]=>
array(16) {
["id2"]=>
int(1)
["sname"]=>
int(7)
["url"]=>
int(7)
["sitecateg"]=>
int(7)
["title"]=>
int(7)
["keywords"]=>
int(7)
["description"]=>
int(7)
["content"]=>
int(7)
["thumb"]=>
int(7)
["snapshoot"]=>
int(7)
["tags"]=>
int(7)
["area"]=>
int(7)
["ishot"]=>
int(1)
["show_index"]=>
int(1)
["update_time"]=>
int(2)
["create_time"]=>
int(2)
}
["matches"]=>
array(20) {
[60]=>
array(2) {
["weight"]=>
string(4) "1672"
["attrs"]=>
array(16) {
["id2"]=>
int(60)
["sname"]=>
string(10) "21CN新闻"
["url"]=>
string(20) "http://news.21cn.com"
["sitecateg"]=>
string(18) "网上新闻媒体"
["title"]=>
string(17) "新闻频道-21CN"
["keywords"]=>
string(36) "新闻,新闻频道,21CN新闻频道"
["description"]=>
string(177) "21CN新闻,关注最有价值的新闻;新闻频道,包含有国内新闻,国际新闻,社会新闻,新闻评论,新闻图片,新闻专题,的新闻资讯聚合门户网站。"
["content"]=>
string(0) ""
["thumb"]=>
string(0) ""
["snapshoot"]=>
string(0) ""
["tags"]=>
string(0) ""
["area"]=>
string(0) ""
["ishot"]=>
int(0)
["show_index"]=>
int(1)
["update_time"]=>
int(1382241483)
["create_time"]=>
int(1382192160)
}
}
[45]=>
array(2) {
["weight"]=>
string(4) "1670"
["attrs"]=>
array(16) {
["id2"]=>
int(45)
["sname"]=>
string(12) "腾讯新闻"
["url"]=>
string(18) "http://news.qq.com"
["sitecateg"]=>
string(18) "网上新闻媒体"
["title"]=>
string(22) "新闻中心_腾讯网"
["keywords"]=>
string(55) "新闻 新闻中心 事实派 新闻频道,时事报道"
["description"]=>
string(220) "腾讯新闻,事实派。新闻中心,包含有时政新闻、国内新闻、国际新闻、社会新闻、时事评论、新闻图片、新闻专题、新闻论坛、军事、历史、的专业时事报道门户网站"
["content"]=>
string(0) ""
["thumb"]=>
string(0) ""
["snapshoot"]=>
string(0) ""
["tags"]=>
string(0) ""
["area"]=>
string(0) ""
["ishot"]=>
int(0)
["show_index"]=>
int(1)
["update_time"]=>
int(1382241430)
["create_time"]=>
int(1382192109)
}
} }
["total"]=>
string(3) "153"
["total_found"]=>
string(3) "153"
["time"]=>
string(5) "0.000"
["words"]=>
array(1) {
["新闻"]=>
array(2) {
["docs"]=>
string(3) "153"
["hits"]=>
string(3) "285"
}
}
}

把直接print_r的部分结果也贴出来:

Array ( [error] => [warning] => [status] => 0 [fields] => Array ( [0] => orderid [1] => description [2] => content ) [attrs] => Array ( [id2] => 1 [sname] => 7 [url] => 7 [sitecateg] => 7 [title] => 7 [keywords] => 7 [description] => 7 [content] => 7 [thumb] => 7 [snapshoot] => 7 [tags] => 7 [area] => 7 [ishot] => 1 [show_index] => 1 [update_time] => 2 [create_time] => 2 ) [matches] => Array ( [60] => Array ( [weight] => 1672 [attrs] => Array ( [id2] => 60 [sname] => 21CN新闻 [url] => http://news.21cn.com [sitecateg] => 网上新闻媒体 [title] => 新闻频道-21CN [keywords] => 新闻,新闻频道,21CN新闻频道 [description] => 21CN新闻,关注最有价值的新闻;新闻频道,包含有国内新闻,国际新闻,社会新闻,新闻评论,新闻图片,新闻专题,的新闻资讯聚合门户网站。 [content] => [thumb] => [snapshoot] => [tags] => [area] => [ishot] => 0 [show_index] => 1 [update_time] => 1382241483 [create_time] => 1382192160 ) ) [2033] => Array ( [weight] => 1648 [attrs] => Array ( [id2] => 2033 [sname] => 百度财经 [url] => http://finance.baidu.com [sitecateg] => 财经综合 [title] => 百度新闻搜索──财经新闻 [keywords] => [description] => 百度新闻是包含海量资讯的新闻服务平台,真实反映每时每刻的新闻热点。您可以搜索新闻事件、热点话题、人物动态、产品资讯等,快速了解它们的最新进展。 [content] => [thumb] => [snapshoot] => [tags] => [area] => [ishot] => 0 [show_index] => 0 [update_time] => 1382780728 [create_time] => 1382199044 ) ) ) [total] => 153 [total_found] => 153 [time] => 0.000 [words] => Array ( [新闻] => Array ( [docs] => 153 [hits] => 285 ) ) )

这下大家应该就知道怎么读取自己的搜索结果了,其他网上大把的资料有的这里就不写了。

PHP读取sphinx 搜索返回结果完整实战实例的更多相关文章

  1. BI之SSAS完整实战教程7 -- 设计维度、细化维度中 :浏览维度,细化维度

    上篇文章我们已经将Dim Geography维度设计好. 若要查看维度的成员, AS需要接收该维度的详细信息(包括已创建的特性.成员属性以及多级层次结构), 通过XMLA与AS的实例进行通信. 今天我 ...

  2. BI之SSAS完整实战教程4 -- 部署至SSAS进行简单分析

    上一篇已经创建了多维数据集的结构. 接下来我们将多维数据集的架构定义发送到Analysis Services实例,部署到AS上去. 文章提纲 部署和浏览多维数据集 SSMS使用简介 总结 一.部署和浏 ...

  3. Selenium2学习-009-WebUI自动化实战实例-007-Selenium 8种元素定位实战实例源代码(百度首页搜索录入框及登录链接)

    此 文主要讲述用 Java 编写 Selenium 自动化测试脚本编写过程中,通过 ID.name.xpath.cssSelector.linkText.className.partialLinkTe ...

  4. XML解析之sax解析案例(一)读取contact.xml文件,完整输出文档内容

    一.新建Demo2类: import java.io.File; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXPar ...

  5. Java生鲜电商平台-电商中海量搜索ElasticSearch架构设计实战与源码解析

    Java生鲜电商平台-电商中海量搜索ElasticSearch架构设计实战与源码解析 生鲜电商搜索引擎的特点 众所周知,标准的搜索引擎主要分成三个大的部分,第一步是爬虫系统,第二步是数据分析,第三步才 ...

  6. BI之SSAS完整实战教程6 -- 设计维度、细化维度上:创建维度定义特性关系

    前面我们使用过数据源向导.数据源视图向导.Cube向导来创建相应的对象. 本篇我们将学习使用维度向导来创建维度. 通过前面几个向导的学习,我们归纳一下共同点,主要分成两步 1. 使用某种对象类型的向导 ...

  7. BI之SSAS完整实战教程5 -- 详解多维数据集结构

    之前简单介绍过多维数据集(Cube)的结构. 原来计划将Cube结构这部分内容打散,在实验中穿插讲解, 考虑到结构之间不同的部分都有联系,如果打散了将反而不好理解,还是直接一次性全部讲完. 本篇我们将 ...

  8. BI之SSAS完整实战教程2 -- 开发环境介绍及多维数据集数据源准备

    上一篇我们已经完成所有的准备工作,现在我们就开始动手,通过接下来的三篇文章创建第一个多维数据集. 传统的维度和多维数据集设计方法主要是基于现有的单源数据集. 在现实世界中,当开发商业智能应用程序时,很 ...

  9. BI之SSAS完整实战教程1 -- 开篇, BI简介 & SSAS简介

    文章提纲 商业智能(BI, Business Intelligence)基本概念 SSAS(SQL Server Analysis Services)相关工具(开发.管理和客户端) 总结 一.商业智能 ...

随机推荐

  1. iOS - 开发一套代码多个app展示不同图标和名称

    引言 公司项目重构之后,有了相对比较完善的开发体系,首先git分支分为日常.预发.生产三个主要分支,开发阶段都在日常(daily)分支下开相应功能的feature分支,开发完再合并. 我的iOS工程需 ...

  2. [转]Android Path里FillType功能

    对于简单的封闭图形(路径无相交的现象),图形的外部和内部和容易判断,但如果路径有相交的情况,对应重叠的部分,使用不同的填充模式,内部和外部的定义有所不同.填充模式可以分为两类: EVEN_ODD 意味 ...

  3. Docker容器挂载宿主目录的情形分析

    Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定. 譬如我要启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定: # docker ...

  4. 关于htc m9w更新后手机无限重启的解决办法

    更新htc sense7.0后,手机无限重启.网上搜了一下,是和谷歌框架冲突的原因,但是机子本身没有root,删除不了gms.只能死马当活马医,把能看到google应用都给删了,就解决了. 步骤: 长 ...

  5. IIS7.5 配置虚拟目录的经历

    好多网站为了不带上什么端口号所有就建立虚拟目录的试来使用80端口 iis6设置都没有问题可到了7.5碰到了点问题 原来7.5上有个:添加应用程序和添加虚拟目录.还有个转换为应用程序 直接把网站建成虚拟 ...

  6. POJ--1936 All in All(水题,暴力即可)

    All in All Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 30543 Accepted: 12723 Descript ...

  7. 力推:无限制下载神器aria2

    百度网盘是一个非常方便的存储以及寻找资源的好帮手,但是百度为了挣钱把非会员的下载网速一再限制(无力吐槽),还还好一直使用油猴插件加idm下载神器来下载百度云文件.奈何idm对bt种子文件不支持下载,终 ...

  8. Pragma: no-cache

    PHP Advanced and Object-Oriented Programming Larry Ullman   Last-Modified 最后修改时间 Expires 过期时间 Pragma ...

  9. sql中charindex的用法

    转自:https://www.cnblogs.com/beeone/p/3621743.html CHARINDEX和PATINDEX函数常常用来在一段字符中搜索字符或者字符串.如果被搜索的字符中包含 ...

  10. Monkey and Banana---hdu1069(dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1069 题意就是给你n种长方体每种类型不限制个数,然后我们把它们一个个堆起来,并且要满足下面的要比上面的 ...