xunsearch开发流程(三)
(一)、编写项目配置文件
通过创建一个项目文件来创建一个新的项目
cd /data/local/xunsearch/sdk/php/app
touch njw.ini
文件内容如下
project.name = njw
project.default_charset = utf-8
server.index = 8383
server.search = 8384
[id]
type = id
[title]
type = title
[norms]
index = self
[picture]
文件中我们定义项目的名称为njw,编码为utf-8,数据中我们有如下几个字段,id,title,norms,picture
(二)、linux下项目的一些操作
清空njw项目的索引数据
/data/local/xunsearch/sdk/php/util/Indexer.php --clean njw
在对应的目录下生成搜索骨架
/data/local/xunsearch/sdk/php/util/SearchSkel.php njw /data/wwwroot/workplace/
导入mysql数据库生成索引数据
/data/local/xunsearch/sdk/php/util/Indexer.php --rebuild --source=mysql://root:123456@127.0.0.1/njw88_dev --sql="select g.id id,g.title title,g.norms norms,i.picture picture from b2b_goods g INNER JOIN b2b_goods_images i ON g.id=i.goods_id" --project=njw
(三)、索引同步
xunsearch可以通过调用XSindex的相关API来更新索引
(四)、引入php-sdk的入口文件/data/local/xunsearch/sdk/php/lib/XS.php进行搜索功能和界面开发
事列如下:
header('Content-Type:text/html;charset=utf-8;');
引入XS.php文件
require_once '../../../local/xunsearch/sdk/php/lib/XS.php';
try{
实例化对应的项目
$xs = new XS('njw');
获取请求过来的搜索关键字
$keywords = trim($_GET['keywords']);
if(empty($keywords)){
exit;
}
获取分页数
$p = $_GET['p'];
if(isset($p)){
$p = max(1, intval($p));
}else{
$p = 1;
}
//搜索文档
$search = $xs->search;
执行搜索关键字
$search->setQuery($keywords);
//set offset,limit
$p = max(1, intval($p));
$n = XSSearch::PAGE_SIZE;
设置分页
$search->setLimit($n,($p-1)*$n);
执行查询
$docs = $search->search();
获取的是一个对应循环是输出之前配置文件建立的对应字段即可
foreach ($docs as $doc){
echo $doc->rank() . ". " . $doc->title . " [" . $doc->percent() . "%]\n,规格为:".$doc->norms . "\n";
echo "<img src='http://".$doc->picture."' style='width:100px;height:100px;' /><br/>";
}
//echo $xs->search->count('测试');
}catch(XSException $e){
$error = strval($e);
}
转载于:https://www.cnblogs.com/lisqiong/p/5507795.html
xunsearch开发流程(三)相关推荐
- 软件开发流程与初始软件测试
一.项目成员(公司组织架构) 二.项目开发流程 项目开发流程 三.软件测试关于人格品质 几乎所有公司都是把人品考核放在第一位. 1. 为人诚实 要正确地认识自己,在面试或者工作的过程中,应如实表达自己 ...
- 【愚公系列】2022年02月 U3D全栈班 002-Unity游戏结构和游戏开发流程
文章目录 一.Unity游戏结构 二.Unity开发流程 三.Unity3D的Helloworld 1.纯拖界面的Helloworld 2.Unity3D脚本的Helloworld 总结 一.Unit ...
- 敏捷开发系列学习总结(11)——Scrum敏捷开发流程的三个角色、四个会议和三个物件
Scrum敏捷开发流程主要包扩三个角色.四个会议和个三物件. 三个角色 Scrum团队中包括三个角色,他们分别是产品负责人.开发团队和 项目的直接管理者(Scrum Master). Scrum 团队 ...
- 探秘手淘高可用平台(三)——热修复和开发流程
本系列文章根据手机淘宝客户端基础架构高级开发工程师非台在安卓绿色联盟开发者大会上的分享,共分三篇,介绍手淘技术团队性能和稳定性系统化提升方案EMAS-MOTU的设计原理以及实现思路. 本文重点介绍手淘 ...
- Kubernetes 开发流程中的三个关键步骤
作者 | Daniel Thiry 译者 | 弯月,责编 | 杨碧玉 头图 | CSDN 下载自视觉中国 出品 | CSDN(ID:CSDNnews) 以下为译文: 建立有效的Kubernetes开发 ...
- 新浪微博开放平台站内应用开发流程直播(三)
终于开始进行写程序了,最有乐趣的莫过于此. 首先从http://open.weibo.com/wiki/SDK下载一个sdk,我下载的是php的sdk.今天打开这里一看居然又多了这么多语言的支持,居然 ...
- node.js的开发流程_Node.js子流程:您需要了解的一切
node.js的开发流程 by Samer Buna 通过Samer Buna Node.js子流程:您需要了解的一切 (Node.js Child Processes: Everything you ...
- 软件开发流程包含哪些内容
2019独角兽企业重金招聘Python工程师标准>>> 能否开发出一个好的软件,关键是看软件开发前期所做的工作,重点是这个软件有没有一个好的 软件开发流程,因为一个好的软件开发流程关 ...
- web开发流程 - 网上商城示例
一.需求确定 1:通过各种手段确定系统的功能与性能 1)功能:注册.浏览.搜索... 2)性能:可同时支持n个并发访问,并且响应时间不低于m毫秒... 3)手段:头脑风暴(brain ...
最新文章
- oracle如何实现多副本,Oracle同一节点副本数据库启动
- keras 自定义层 2
- 实习热招 | 想找「NLP」实习机会?这 7 家公司正在等你
- Marketing Cloud里CSRF token的获取时机
- Springboot-application.properties
- python 时间模块 time datetime calendar
- js 判断剪切板内容是否为text_Python+selenium自动化之EC模块之text_to_be_present_in_element...
- Struts2框架 下载和配置
- 神器webssh学习笔记
- 使用STM8S003F3P6的硬件I2C读写AT24C16的EEPROM的经验心得
- 现代通用计算机析雏形,计算机作业一、选择题 1.______B______是现代通用计算机的雏形。 A. 宾州大学于1946年2月研制成功的E...
- vue报错 | Duplicate keys detected: ‘0’. This may cause an update error.
- 火狐浏览器设置字符编码格式
- 贵州大学oj C++ 第五次 12.房产税费计算
- SpringCloud Alibaba 实战之《配置中心:基于 Nacos 集中管理应用配置》
- vue PC端项目打包成windows桌面程序
- mysql数据库的基本操作语句
- docker快速安装可道云
- Intouch学习笔记一
- overthewire靶场之——bandit(1-10)