帝国CMS7.5基于迅搜(Xunsearch)的全文搜索插件教程
时间:2023年09月11日
/来源:网络
/编辑:佚名
一、插件演示地址
后台演示地址:https://ecms.gxecms.cf/e/admin/index.php
用户名:demo
密码:demo
前台演示页面:https://ecms.gxecms.cf/e/extend/xunsearch/
二、关于本插件的一些说明:
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行,在这代码上面添加如下代码
PHP
/** 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行,在这代码上面添加如下代码
PHP
/** 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行,在这代码上面添加如下代码
PHP
/** 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行,在这代码上面添加如下代码
PHP
/** 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行,在这代码上面添加如下代码
PHP
/** xunsearch全文搜索代码开始 */
$xsclass[$i] = intval($r['classid']);
/** xunsearch全文搜索代码结束 */
6、查找printerror("DelNewsAllSuccess",EcmsGetReturnUrl());,大概在1142行,在这代码上面添加如下代码
PHP
/** 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全文搜索代码结束 */
文章来自:https://cmswiki.eu.org/?cate=1
后台演示地址:https://ecms.gxecms.cf/e/admin/index.php
用户名:demo
密码:demo
前台演示页面:https://ecms.gxecms.cf/e/extend/xunsearch/
二、关于本插件的一些说明:
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行,在这代码上面添加如下代码
PHP
/** 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行,在这代码上面添加如下代码
PHP
/** 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行,在这代码上面添加如下代码
PHP
/** 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行,在这代码上面添加如下代码
PHP
/** 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行,在这代码上面添加如下代码
PHP
/** xunsearch全文搜索代码开始 */
$xsclass[$i] = intval($r['classid']);
/** xunsearch全文搜索代码结束 */
6、查找printerror("DelNewsAllSuccess",EcmsGetReturnUrl());,大概在1142行,在这代码上面添加如下代码
PHP
/** 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全文搜索代码结束 */
文章来自:https://cmswiki.eu.org/?cate=1
新闻资讯 更多
- 【帝国cms教程】帝国CMS模板变量$GLOBALS[navclassid]用法分析04-03
- 【帝国cms教程】鲜为人知帝国CMS内容页调用上一篇和下一篇的精华方法汇总04-03
- 【帝国cms教程】怎么快速找出帝国CMS数据库配置文件路径及迁移网站后修改技巧!04-03
- 【帝国cms教程】帝国CMS模板$GLOBALS[navclassid]用法详解04-03
- 【帝国cms教程】帝国cms 7.5版列表页分页样式修改笔记04-02
- 【帝国cms教程】解决帝国CMS搜索页面模板不支持灵动标签和万能标签的方法04-02
- 【帝国cms教程】帝国CMS只备份栏目和模板的方法04-02
- 【帝国cms教程】帝国CMS怎样删除清空数据库记录?04-02
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法