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);
}
xunsearch开发流程(三)的更多相关文章
- C#开发奇技淫巧三:把dll放在不同的目录让你的程序更整洁
		系列文章 C#开发奇技淫巧一:调试windows系统服务 C#开发奇技淫巧二:根据dll文件加载C++或者Delphi插件 C#开发奇技淫巧三:把dll放在不同的目录让你的程序更整洁 程序目录的整理 ... 
- 小谈Scrum敏捷开发流程
		一晃眼,有两年没有写博客了,回顾前两年,各种奔波,各种忙碌,也有不少的收获.从今天开始,我要把这些收获都分享在这里. 其实这两年,对我影响最大的是开发流程.总所周知,一个好的开发流程,对于项目的进行, ... 
- C++的性能C#的产能?! - .Net Native 系列《二》:.NET Native开发流程详解
		之前一文<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥> 获得很多朋友支持和鼓励,也更让我坚定做这项技术的推广者,希望能让更多的朋友了解这项技术,于是先从官方 ... 
- git开发流程、常用命令及工具、TortoiseGit使用及常见问题
		根据我最近使用git的一些经历,git是基于分支的版本控制工具,分支有远程分支和本地分支. 一.开发流程 - 从远程服务器的master,clone一份项目文件到本地,然后本地master的基础上br ... 
- Web开发流程
		知乎上关于Web开发流程豪情给予的回答 web前端开发流程是什么?进行操作会用到哪些便捷的小工具?是先用模板做好,然后在基础上改吗??正常大家说的改框架是不是指的用模板做的网站原文件?前端开发做的文件 ... 
- iOS开发流程总结
		本文由社区会员umyueyue分享 以下是会员umyueue总结的iOS开发流程以及学习中的资料分享. 流程:注册.开发.真机测试.发布以及上线. iPhone iOS 4从注册到app上线开发流程 ... 
- asp.net  网站开发流程总结
		由于这学期要做asp.net的网站开发,导师让我们在前期做详细的计划说明,时间安排.由于网站开发流程不知道,以及需要学什么指示都是盲懂,所以计划安排需在了解大致流程之后才能做出来,一下是询问同学和在网 ... 
- 简易版CMS后台管理系统开发流程
		目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口 ... 
- OAuth的机制原理讲解及开发流程
		本想前段时间就把自己通过QQ OAuth1.0.OAuth2.0协议进行验证而实现QQ登录的心得及Demo实例分享给大家,可一直很忙,今天抽点时间说下OAuth1.0协议原理,及讲解下QQ对于Oaut ... 
随机推荐
- main函数的参数:argc和argv
			程序一般是从main函数开始执行的,main函数标准格式: int main(int argc,char **argv) 其中argc是来自shell(或CMD)的参数的个数,argv是char型的二 ... 
- maven手动添加jar(转)
			Maven 手动添加 JAR 包到本地仓库 原文链接:http://www.blogjava.net/fancydeepin/archive/2012/06/12/380605.html Maven ... 
- DRF中序列化器定义及使用
			首先需要明白序列化和反序列化的定义及作用: 序列化是将程序语言转换为JSON/XML; 反序列化是将JSON/XML转换为程序语言; 对应到Django中,序列化即把模型对象转换为字典形式, 在返回给 ... 
- 从头搭建一个React应用
			node,webpack这些就不一一介绍怎么安装了,默认大家都知道. 一.npm install -g create-react-app 首先全局安装react的脚手架工具 create-react- ... 
- 如何查看PHP的配置信息
			1.问题描述 如何利用PHP函数查看PHP的配置信息 2.问题函数 <?php echo phpinfo(); ?> 3.输出结果 phpinfo() PHP Version => ... 
- SAPUI5使用了哪些开源技术
			我们知道SAP UI5已经开源了,共享给了Apache开源组织后的名字叫Open UI5,虽然从API的长度上看,Open UI5比SAP UI5要短,但是两者的核心并没有多大区别,SAP UI5多了 ... 
- Failed to resolve: com.android.support:appcompat-v7:27.+ 报错解决方法
			最近在学习Android方面的编程,这个过程中出现了许多的错误,其中最多的错误是出现在构建工具进行编译的时候.这里分析一个出现的错误,Failed to resolve: com.android.su ... 
- 【剑指offer】08二叉树的下一个节点,C++实现
			原创博文,转载请注明出处! # 题目 父节点指向子节点的指针用实线表示,从子节点指向父节点的指针用虚线表示. # 思路 如果节点有右子节点,则右子节点的最左节点是该节点的下一个节点.例如,寻找b的下一 ... 
- del语句的总结
			删除属性 del 语句 可以删除对象(实例)的属性 语法: del 对象.实例变量名 del 语句 del 变量名 删除变量 del name del 列表[整数表达式] 删除列表中的元素 del L ... 
- Java启动参数及调优
			java启动参数共分为三类: 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容:其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且 ... 
