帝国CMS7.5基于迅搜(Xunsearch)的全文搜索插件

无所事事1年前CMS插件633

一、插件演示地址

后台演示地址:https://ecms.gxecms.cf/e/admin/index.php

用户名:demo

密码:demo

前台演示页面:https://ecms.gxecms.cf/e/extend/xunsearch/

插件购买请联系:

联系QQ:770430296

微信:tiger024062


二、关于本插件的一些说明:

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

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

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

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

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

5.jpeg

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

3.jpeg

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

4.jpeg

后台查看索引数据

6.jpeg

前台搜索体验

三、插件安装说明

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

7.jpg

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

8.jpg


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

菜单名称                              链接地址 

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

9.jpg

四、需要增删改查操作同步更新索引数据的请按下面步骤修改/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全文搜索代码结束 */

五、插件购买方式

联系QQ:770430296

微信:tiger024062

10.jpg

相关文章

关于使用讯搜(xunsearch)过程中遇到的坑

1. 在xunsearch中按区间搜索的方法`$search->addRange('字段名','from','to')`- 第一个参数为字段名-...

XunSearch设置为服务 开机自动启动

开机自动启动[Uint] Description=xunsearch   [Service] Type=forking ExecStart=/bin/sh /usr/lo...

CentOS8.0安装迅搜(XunSearch)引擎报错的解决办法

在一些小型项目上需要应用全文搜索引擎时,我比较喜欢使用迅搜,因为部署方便,调用简单,今天给客户部署系统安装迅搜时,竟然有报错(极少遇到报错的情况),花了一些时间查资料,终于解决了,分享一下经验首先是定...

xunsearch实战经验总结

一、定义好配置文件(非常关键)  a):如果需要做精确搜索建议对字段设定index=self,tokenizer = full,不然xunsearch会对字段做分词处理;  b):数字区间搜索需设定&...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。