最新公告
  • 欢迎您光临站长源码网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 帝国CMS7.5基于迅搜(Xunsearch)的全文搜索插件

    正文概述 管理员   2024-09-02   13

    安装

    Xunsearch PHP-SDK 是与 xunsearch 后端服务协同工作的,所以后先必须先在您的服务器 上安装服务端,服务器操作系统要求必须是 LinuxBSD 或其它类 UNIX 系统,同时安装了 gccmake 等基础编译环境。

    1、运行下面指令下载、解压安装包

    wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
    tar -xjf xunsearch-full-latest.tar.bz2
    

    2、执行安装脚本,根据提示进行操作,主要是输入 xunsearch 软件包的安装目录,强烈建议单独 规划一个目录,而不是混到别的软件目录中。

    cd xunsearch-full-1.3.0/
    sh setup.sh
    

    第一次安装的话,过程可能会稍显漫长,请不必着急,您大可泡杯茶一边喝一边等待即可。

    待命令运行结束后,如果没有出错中断,则表示顺利安装完成,然后就可以启动/重新启动 xunsearch 的后台服务,下面命令中的 $prefix 请务必替换为您的安装目录,而不是照抄。

    cd $prefix ; bin/xs-ctl.sh restart
    

    强烈建议您将此命令添加到开机启动脚本中,以便每次服务器重启后能自动启动搜索服务程序, 在 Linux 系统中您可以将脚本指令写进 /etc/rc.local 即可。

    TIPS:

    要将命令 /www/wwwroot/xunsearch/bin/xs-ctl.sh restart 写入服务器的开机脚本中,您可以将该命令添加到适当的脚本文件中,以便在服务器启动时自动运行。

    具体的步骤可能会因您使用的操作系统和初始化系统而有所不同。以下是一般的步骤:

      1. 打开适当的启动脚本文件,例如 /etc/rc.local/etc/init.d/rc.local。请确保拥有足够的权限来编辑该文件。
      2. 在文件的合适位置添加以下行:
        /www/wwwroot/xunsearch/bin/xs-ctl.sh restart
        
      3. 保存文件并关闭。
      4. 授予启动脚本文件执行权限。可以使用以下命令:
    chmod +x /etc/rc.local
    

    这样,在每次服务器启动时, /www/wwwroot/xunsearch/bin/xs-ctl.sh restart 命令都会自动运行。

    关于本插件的一些说明:

    1、我们的全文搜索插件基于帝国CMS7.5以及迅搜(Xunsearch)1.4.17版本开发,请明确您的生产环境和我们一致。

    2、插件原则上不修改CMS系统文件,但是如果后台需要增删改查的时候自动同步数据的话需要修改文件,请自行斟酌。

    3、插件可实现下面列出的功能:

    3-1、索引数据按不同模型分别建立索引库,不同模型可单独设置索引字段以及索引类型,不同模型可以单独设置不同的索引服务器。

    3-2、如果对系统分词不满意,可以按不同模型设置自定义词库。

    3-3、如果站点已经存在数据,建立索引之后可以按模型导入已存在的数据,如果对索引不满意也可以删除索引重建索引。

    3-4、导入数据之后可以在后台查看简单的索引数据、同时我们也提供一个简单的前台页面供大家测试。

    后台查看索引数据

    前台搜索体验

    三、插件安装说明

    1、解压后将xunsearch文件夹放到/e/extend/目录,完整路径是/e/extend/xunsearch/

    2、后台->系统设置->扩展菜单-》管理菜单 添加 我的插件 分类

    3、在我的插件分类-》添加菜单

    菜单名称                              链接地址

    Xunsearch全文搜索             /e/extend/Xunsearch/admin/index.php           金刚模式链接

    四、需要增删改查操作同步更新索引数据的请按下面步骤修改/e/class/hinfofun.php文件,此步骤是可选的,如果没有修改过/e/class/hinfofun.php文件,可以使用我们提供额文件覆盖。

    1、查找printerror(“AddNewsSuccess”,”AddNews.php?enews=AddNews&ecmsnfrom=$add[ecmsnfrom]&bclassid=$add[bclassid]&classid=$add[classid]”.$addecmscheck.hReturnEcmsHashStrHref2(0));,大概在377行,在这代码上面添加如下代码

    /** xunsearch全文搜索代码开始 */
    if ($add['checked'] == 1) {
        require_once __DIR__ . '/../extend/xunsearch/include/config.php';
        require_once __DIR__ . '/../extend/xunsearch/include/customXsSearch.php';
        $mid = $class_r[$add['classid']]['modid'];
        $xsobj = new customXsSearch($mid);
        $add['id'] = $id;
        $add['newstime'] = $newstime;
        $xsobj->document_index($add);
    }
    /** xunsearch全文搜索代码结束 */
    

    2、查找printerror(“EditNewsSuccess”,$ecmsfrom.$addecmscheck);,大概在678行,在这代码上面添加如下代码

    /** xunsearch全文搜索代码开始 */
    if ($add['checked'] == 1) {
        require_once __DIR__ . '/../extend/xunsearch/include/config.php';
        require_once __DIR__ . '/../extend/xunsearch/include/customXsSearch.php';
        $mid = $class_r[$add['classid']]['modid'];
        $xsobj = new customXsSearch($mid);
        $add['newstime'] = strtotime($add['newstime']);
        $xsobj->document_update($add);
    }
    /** xunsearch全文搜索代码结束 */
    

    3、查找printerror(“EditNewsSuccess”,$closeurl,8);,大概在878行,在这代码上面添加如下代码

    /** xunsearch全文搜索代码开始 */
    if ($add['checked'] == 1) {
        require_once __DIR__ . '/../extend/xunsearch/include/config.php';
        require_once __DIR__ . '/../extend/xunsearch/include/customXsSearch.php';
        $mid = $class_r[$add['classid']]['modid'];
        $xsobj = new customXsSearch($mid);
        $add['newstime'] = strtotime($add['newstime']);
        $xsobj->document_update($add);
    }
    /** xunsearch全文搜索代码结束 */
    

    4、查找printerror(“DelNewsSuccess”,$returl);,大概在1010行,在这代码上面添加如下代码

    /** xunsearch全文搜索代码开始 */
    require_once __DIR__ . '/../extend/xunsearch/include/config.php';
    require_once __DIR__ . '/../extend/xunsearch/include/customXsSearch.php';
    $mid=$class_r[$classid]['modid'];
    $xsobj = new customXsSearch($mid);
    $xsobj->document_delete($id,$classid);
    /** xunsearch全文搜索代码结束 */
    

    5、查找$r=$empire->fetch1(“select * from {$dbtbpre}ecms_”.$tbname.$doctb.” where id=’$id[$i]'”);,大概在1055行,在这代码上面添加如下代码

    /** xunsearch全文搜索代码开始 */
    $xsclass[$i] = intval($r['classid']);
    /** xunsearch全文搜索代码结束 */
    

    6、查找printerror(“DelNewsAllSuccess”,EcmsGetReturnUrl());,大概在1142行,在这代码上面添加如下代码

    /** xunsearch全文搜索代码开始 */
    $delIds = [];
    for ($i = 0; $i < count($id); $i++) {
        $delIds[] = [
            'id' => $id[$i],
            'classid' => $xsclass[$i],
        ];
    }
    if ($delIds) {
        require_once __DIR__ . '/../extend/xunsearch/include/config.php';
        require_once __DIR__ . '/../extend/xunsearch/include/customXsSearch.php';
        $mid = $class_r[$classid]['modid'];
        $xsobj = new customXsSearch($mid);
        $xsobj->document_deleteAll($delIds);
    }
    /** xunsearch全文搜索代码结束 */
    


    站长源码网 » 帝国CMS7.5基于迅搜(Xunsearch)的全文搜索插件

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    支付宝支付
    余额支付
    ×
    微信扫码支付 0 元