博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
xunsearch开发流程(三)
阅读量:5022 次
发布时间:2019-06-12

本文共 1780 字,大约阅读时间需要 5 分钟。

 

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

通过创建一个项目文件来创建一个新的项目

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

你可能感兴趣的文章
让HTML页面缩放适应移动客户端尺寸
查看>>
三个节点免密通信
查看>>
Hadoop之HDFS文件系统
查看>>
初识InfoPath
查看>>
Jmeter中的XPath Assertion
查看>>
入门-什么是webshell?
查看>>
monkey 命令
查看>>
[BZOJ] 1609: [Usaco2008 Feb]Eating Together麻烦的聚餐
查看>>
junit测试框架
查看>>
Unity3D之MonoBehaviour的可重写函数整理
查看>>
通过定时监听input框来实现onkeyup事件-
查看>>
C#写webservice服务引用
查看>>
.NET重构(二):ArrayList,List,IList的联系和区别
查看>>
微信小程序 转发
查看>>
PAT乙级练习1001
查看>>
hydra 密码破解工具详解
查看>>
关于ssh报错:Agent admitted failure to sign using the key.
查看>>
NoSQL漫谈 NoSql = Not Only Sql != No Sql
查看>>
BZOJ - 2741 分块维护最大连续异或和
查看>>
Mac 下配置Lua环境
查看>>