(一)、编写项目配置文件

通过创建一个项目文件来创建一个新的项目
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. 软件开发流程与初始软件测试

    一.项目成员(公司组织架构) 二.项目开发流程 项目开发流程 三.软件测试关于人格品质 几乎所有公司都是把人品考核放在第一位. 1. 为人诚实 要正确地认识自己,在面试或者工作的过程中,应如实表达自己 ...

  2. 【愚公系列】2022年02月 U3D全栈班 002-Unity游戏结构和游戏开发流程

    文章目录 一.Unity游戏结构 二.Unity开发流程 三.Unity3D的Helloworld 1.纯拖界面的Helloworld 2.Unity3D脚本的Helloworld 总结 一.Unit ...

  3. 敏捷开发系列学习总结(11)——Scrum敏捷开发流程的三个角色、四个会议和三个物件

    Scrum敏捷开发流程主要包扩三个角色.四个会议和个三物件. 三个角色 Scrum团队中包括三个角色,他们分别是产品负责人.开发团队和 项目的直接管理者(Scrum Master). Scrum 团队 ...

  4. 探秘手淘高可用平台(三)——热修复和开发流程

    本系列文章根据手机淘宝客户端基础架构高级开发工程师非台在安卓绿色联盟开发者大会上的分享,共分三篇,介绍手淘技术团队性能和稳定性系统化提升方案EMAS-MOTU的设计原理以及实现思路. 本文重点介绍手淘 ...

  5. Kubernetes 开发流程中的三个关键步骤

    作者 | Daniel Thiry 译者 | 弯月,责编 | 杨碧玉 头图 | CSDN 下载自视觉中国 出品 | CSDN(ID:CSDNnews) 以下为译文: 建立有效的Kubernetes开发 ...

  6. 新浪微博开放平台站内应用开发流程直播(三)

    终于开始进行写程序了,最有乐趣的莫过于此. 首先从http://open.weibo.com/wiki/SDK下载一个sdk,我下载的是php的sdk.今天打开这里一看居然又多了这么多语言的支持,居然 ...

  7. node.js的开发流程_Node.js子流程:您需要了解的一切

    node.js的开发流程 by Samer Buna 通过Samer Buna Node.js子流程:您需要了解的一切 (Node.js Child Processes: Everything you ...

  8. 软件开发流程包含哪些内容

    2019独角兽企业重金招聘Python工程师标准>>> 能否开发出一个好的软件,关键是看软件开发前期所做的工作,重点是这个软件有没有一个好的 软件开发流程,因为一个好的软件开发流程关 ...

  9. web开发流程 - 网上商城示例

    一.需求确定 1:通过各种手段确定系统的功能与性能    1)功能:注册.浏览.搜索...    2)性能:可同时支持n个并发访问,并且响应时间不低于m毫秒...    3)手段:头脑风暴(brain ...

最新文章

  1. oracle如何实现多副本,Oracle同一节点副本数据库启动
  2. keras 自定义层 2
  3. 实习热招 | 想找「NLP」实习机会?这 7 家公司正在等你
  4. Marketing Cloud里CSRF token的获取时机
  5. Springboot-application.properties
  6. python 时间模块 time datetime calendar
  7. js 判断剪切板内容是否为text_Python+selenium自动化之EC模块之text_to_be_present_in_element...
  8. Struts2框架 下载和配置
  9. 神器webssh学习笔记
  10. 使用STM8S003F3P6的硬件I2C读写AT24C16的EEPROM的经验心得
  11. 现代通用计算机析雏形,计算机作业一、选择题 1.______B______是现代通用计算机的雏形。 A. 宾州大学于1946年2月研制成功的E...
  12. vue报错 | Duplicate keys detected: ‘0’. This may cause an update error.
  13. 火狐浏览器设置字符编码格式
  14. 贵州大学oj C++ 第五次 12.房产税费计算
  15. SpringCloud Alibaba 实战之《配置中心:基于 Nacos 集中管理应用配置》
  16. vue PC端项目打包成windows桌面程序
  17. mysql数据库的基本操作语句
  18. docker快速安装可道云
  19. Intouch学习笔记一
  20. overthewire靶场之——bandit(1-10)

热门文章

  1. Markdown使用小笔记
  2. 语音视频聊天的强大技术支持
  3. Windows 10 卸载 Qt 5.9.9
  4. Unity发布WebGL运行问题
  5. html 写平方 立方
  6. 对一级标题二级标题进行排序
  7. 港版plus 6 sim卡显示无服务器,苹果6 plus显示无服务怎么办
  8. 【将金令】1.5金评:洗尽铅华,静待多空拉锯
  9. 都知道vue3响应式是Proxy实现的,进来把proxy与Reflect吃透
  10. 【程序设计】暴力枚举