文档章节

通过sphinx给项目搜索结果标题添加高亮

PHer
 PHer
发布于 2014/09/08 22:09
字数 303
阅读 33
收藏 0

在项目搜索功能中加入shpinx查询数据

$needSeach=isset($_GET['jq'])?$_GET['jq']:'';
$title= isset($_GET['title'])?$_GET['title']:'';
//使用sphinx查询
if(!empty($needSeach)||!empty($title)){
    
    //加载sphinxAPI
    require './sphinxapi.php';
    //实例化sphinx客户端new SphinxClient()
    $sp = new SphinxClient();
    //设置setServer()
    $sp ->SetServer('localhost',9312);
    //设置匹配模式
    $sp ->SetMatchMode(SPH_MATCH_EXTENDED);
    //设置查询结果记录总数setLimits(start,end)
    $sp ->SetLimits(0, 25);
    $res=$sp ->Query("@title {$title}",'mymovie');
    //将查询到的id连接到条件中;
    $id_string=implode(',',array_keys($res['matches']));
}
//采用like 加百分号开头 并未使用到索引,如果数据量大势必会影响网站的效率
$where = "AND ar.id IN(".$id_string.")";

查询关键词显示高亮

$data= array();
while ($row=$dsql -> getArray('me')){
    //处理title字段,通过BuildExcerpts处理文档 
    //第一个参数 从数据库中取出来的数据
    //第二个参数 配置的索引名
    //第三个参数 搜索的关键词
    //第四个参数 不是必须的,
    $_row=$sp ->BuildExcerpts(array($row['title']), 'mymovie', $title,
   array('before_match'=>"<span style='color:red'>",
        'after_match'=>"</span>",
        ));
    
    $row['arcurl']=GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],
     $row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']);
    //经过处理的title替换掉row中的title
    $row['title']=$_row[0];
    $data[] = $row;
}


© 著作权归作者所有

PHer
粉丝 4
博文 121
码字总数 38443
作品 0
成都
程序员
私信 提问
使用 sphinx 制作简洁而又美观的文档

简介: 学习如何使用 Sphinx 工具创建能够以各种格式(如 HTML)自动进行分布的可维护的、样式支配的文档。 简介 Sphinx 是一种工具,它允许开发人员以纯文本格式编写文档,以便采用满足不同...

IBMdW
2012/01/18
1K
0
基于Sphinx构建准实时更新的分布式通用搜索引擎平台

前言:   2008年7月,我写过一篇文章《基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计》。有不少网友希望阅读全文,我将该文档整理了一下,分享出来。文档解压后大小为7.33M,...

冬瓜1
2013/12/31
0
1
在Ubuntu安装和配置Sphinx

文件目录 /etc/sphinxsearch Ubuntu系统默认是配置有sphinx的,先检查一下,别多此一举。。。。。 在开始本指南之前,您需要: 一个Ubuntu 16.04服务器。 sudo的一个非root用户,您可以通过以...

阿锋zxf
2018/09/22
0
0
搜索服务器--Techu

Techu 是一个基于 RESTful 的搜索服务器,基于 Sphinx 全文搜索引擎。 特点: 通过 Techu 数据库模型组织 Sphinx 配置 可重用的索引和搜索配置 自动重新生成配置和重启搜索服务器 可通过 HT...

匿名
2013/05/20
941
0
sphinx+reStructuredText 文档写作

文章目录 1. 简介 spinx Sphinx 是一种文档工具,它可以令人轻松的撰写出清晰且优美的文档, 由 Georg Brandl 在BSD 许可证下开发. 新版的Python文档 就是由Sphinx生成的, 并且它已成为Pytho...

一銤阳光
01/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Visual Paradigm 教程[UML]:如何绘制封装图?(上)

下载Visual Paradigm最新试用版 查看本教程视频文件 在项目开始时,您只有有限数量的图表,一切都简单而美观。然而,当时间过得匆匆时,已经创建了越来越多的图表,并且它们开始变得无法管理...

xiaochuachua
28分钟前
0
0
Pure-ftpd服务安装及虚拟用户设置

安装 sudo apt-get install pure-ftpd 虚拟用户设置 首先,可以在系统中添加相应的用户和组,如用户ftpuser 和组ftpgroup ,专门用来管理ftp服务。也可以是能登录系统的用户,但最好是不能登...

Gm_ning
30分钟前
0
0
一位面试了阿里,滴滴,网易,蚂蚁金服,最终有幸去了网易的Java程序员【面试题分享】

前言 15年毕业到现在也近三年了,最近面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中... 最终有幸去...

Java领航员
31分钟前
1
0
“大团队”和“敏捷开发”,谁说不可兼得?

阿里妹导读:当小团队的产出跟不上业务需要,团队就面临规模化的问题。从1个团队到3个团队,仍可以通过简单的团队沟通保持高效协作。当产品复杂到需要5个以上团队同时开发时,我们需要一定的...

阿里云云栖社区
35分钟前
0
0
基于虹软人脸识别Demo android人脸识别

参加一个比赛,指定用虹软的人脸识别功能,奈何虹软人脸识别要自己建人脸库,不然就只能离线用,总不能装个样子,简单看了下虹软Demo,下面决定用这种简单方法实现在线人脸识别: Android端(...

是哇兴哥棒棒哒
40分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部