sphinx搜索结果按权重排序php,PHP读取sphinx 搜索返回结果完整实战实例

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

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

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

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 对应代码

" href="=$site["url"]?>" target="_blank">=$site["sname"]?>

更新时间:=date("Y-m-d H:i",$site["update_time"])?>

为了更直观也把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 ) ) )

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

HADOOP安装指南-Ubuntu15.10和hadoop2.7.2

Ubuntu15.10中安装hadoop2.7.2安装手册 太初 目录 1.      Hadoop单点模式... 2 1.1        安装步骤... 2 0.环境和版本... 2 1.在ubu ...

01python算法--算法和数据结构是什么鬼?

我不想直接拷贝google 上面所有对算法的解释.所以我想怎么说就怎么说了,QAQ 1:什么是程序? 解决问题的范式 2:什么是问题? 程序输入与输出之间的联系 3:什么是算法: 算法就是解决问题的思 ...

使用shape设置只有部分边框有颜色

<?xml version="1.0" encoding="UTF-8"?>

相似文档查找算法之 simHash 简介及其 java 实现 - leejun&lowbar;2005的个人页面 - 开源中国社区

相似文档查找算法之 simHash 简介及其 java 实现 - leejun_2005的个人页面 - 开源中国社区 相似文档查找算法之 simHash 简介及其 java 实现

hibernate中使用sql语句进行表链接查询,对结果集的遍历方法

今天做了一个在hibernate中使用sql语句进行表链接查询的功能,得到的属性是来自两个表中的字段.下面对结果集遍历的方法进行记录. sql语句不写了.部分代码如下: List

PHP通过经纬坐标计算两个地址的距离

consul服务注册与发现

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

Weblogic读不到Word文件

之前遇到一导出word文件的需求,我的做法是把对应导出内容放到一个word文件中,把其中变化的内容作为变量,然后把该word文件放在WEB-INF目录下用来作为模板.在导出时通过ServletCont ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值