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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值