PHP:集成Xunsearch生成前端搜索骨架

如果是安装宝塔,我们在集成xunsearch的时候就会比较简单,后面我们在介绍其他的接入方式;

首先我们进入到宝塔管理后台:【软件商店】-【输入xun】-【点击xunsearch】直接安装即可

安装成功之后,会自动在www/server中创建xunsearch 

我们将 【sdk】 -【php】 复制到你的站点extend下

然后再站点根目录下创建test.php进行测试,在进行测试前我们需要创建配置【非常关键】

        a):如果需要做精确搜索建议对字段设定index=self,tokenizer = full,不然xunsearch会对字段做分词处理;

        b):数字区间搜索需设定 type=numerice;

        c):如需对字段进行模糊匹配tokenizer 可不设定,默认做scws分词,如字段存储的值为“,6,7,8,”想搜索包含6或8的数据;

        d):配置文件必须包含一个type=id的主键字段

接下来我们就开始配置:

如果我们不知道如何手写,官方也提供了生成ini的工具,具体可以参考手册

项目配置详解 - 权威指南 - 迅搜(xunsearch) - 开源免费中文全文搜索引擎

ini文件设计辅助工具 - 迅搜(xunsearch) - 开源免费中文全文搜索引擎

demo.ini【xunsearch/app/demo.ini


project.name = demo
project.default_charset = utf-8
server.index = 8383
server.search = 8384

[pid]
type = id

[subject]
type = title

[message]
type = body

[chrono]
type = numeric

test.php 【站点根目录


<?php
// // 确保Xunsearch扩展已经安装并启用
 require_once 'extend/xunsearch/lib/XS.php';
 
// // 初始化Xunsearch的项目
$xs = new XS('demo'); 
 
$data = array(
    'pid' => 234, // 此字段为主键,必须指定
    'subject' => '5554444',
    'message' => '测试文档的内容部分',
    'chrono' => time(),
);

// 创建文档对象

$doc = new XSDocument;
$doc->setFields($data);
$index = $xs->index;
// 添加到索引数据库中
$index->add($doc);
$index->flushIndex();
echo "<br>";
echo "数据已成功添加到Xunsearch索引" . "\n";
$search = $xs->search;
       
$result =  $xs->search->setQuery($where)
   //->setSort('sku_id','asc') #按索引排序
   ->setDocOrder(true) #按添加索引排序(升序)
   ->setLimit($limit)
   ->search();
try {
    // 遍历结果
    foreach ($result as $document) {
        echo "<br>";
        // 打印文档的某些字段
        echo $document->pid . ' - ' . $document->subject .  ' - ' .  $document->message ."\n";
    }
 } catch (\XSException $e) {
     $result = $e->getMessage();
 }
 
// 其他操作,如更新索引、优化索引等
?>

当然如果想针对查询词进行分词可以对其使用 XSTokenizerScws  

测试结果:

如有疑问可以致邮 dingcho@kingbal.com 我们,一起探讨 

测试成功,说明集成成功,我们可以执行命令自动生成前端搜索页面骨架

/www/wwwroot/www.tst.com/extend/xunsearch/util/SearchSkel.php demo /www/wwwroot/www.tst.com/xunsearch

生成完毕,访问页面即可 

参考生成搜索代码文档:SearchSkel 生成搜索代码 - 权威指南 - 迅搜(xunsearch) - 开源免费中文全文搜索引擎

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值