帝国CMS7.5基于es(Elasticsearch)7.x的全文搜索插件

无所事事2年前CMS插件772

一、插件演示地址

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

用户名:demo

密码:demo

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

插件购买请联系:

联系QQ:770430296

微信:tiger024062

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

1、我们的全文搜索插件基于帝国CMS7.5以及es(Elasticsearch)7.x版本开发,安装好ik分词插件,请明确您的生产环境和我们一致。

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

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

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

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

3.jpeg

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

后台查看索引数据

前台搜索体验

三、插件安装说明

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

6.jpeg

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

7.jpg

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

菜单名称                              链接地址 

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

202211251669348075649659.png

四、需要增删改查操作同步更新索引数据的请按下面步骤修改/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行,在这代码上面添加如下代码

/** elasticsearch全文搜索代码开始 */
require_once __DIR__.'/../extend/elasticsearch/include/CustomSearch.php';
$mid=$class_r[$add['classid']]['modid'];
$obj = new CustomSearch($mid);
$add['id']=$id;
$add['newstime']=$newstime;
$obj->document_index($add);
/** elasticsearch全文搜索代码结束 */

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

/** elasticsearch全文搜索代码开始 */
require_once __DIR__.'/../extend/elasticsearch/include/CustomSearch.php';
$mid=$class_r[$add['classid']]['modid'];
$obj = new CustomSearch($mid);
$add['newstime']=strtotime($add['newstime']);
$obj->document_update($add);
/** elasticsearch全文搜索代码结束 */

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

/** elasticsearch全文搜索代码开始 */
require_once __DIR__.'/../extend/elasticsearch/include/CustomSearch.php';
$mid=$class_r[$add['classid']]['modid'];
$obj = new CustomSearch($mid);
$add['newstime']=strtotime($add['newstime']);
$obj->document_update($add);
/** elasticsearch全文搜索代码结束 */

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

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

5、查找if($doselfinfo['doselfinfo']&&($r[userid]<>$userid||$r[ismember])),大概在行,在这代码上面添加如下代码

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

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

/** elasticsearch全文搜索代码开始 */
require_once __DIR__.'/../extend/elasticsearch/include/CustomSearch.php';
$mid=$class_r[$classid]['modid'];
$obj = new CustomSearch($mid);
for($i=0;$i<count($id);$i++)
{
    $obj->document_delete($id[$i],$esclass[$i]);
}
/** elasticsearch全文搜索代码结束 */

五、插件购买方式

联系QQ:770430296

微信:tiger024062

8.jpg

相关文章

Elasticsearch配置IK分词器的远程词库

Elasticsearch配置IK分词器的远程词库

我们把es和ik分词器安装完毕后,即可开始配置词库,在es中默认有提供一些词库,过滤一些语气词等;在安装的es的根路径下有一个\plugins\ik\config路径,下面有一个IKAnalyzer....

ElasticSearch搜索建议与上下文提示

ElasticSearch搜索建议与上下文提示

搜索建议通过Suggester Api实现原理是将输入的文本分解为Token,然后在词典中查找类似的Term返回根据不同场景,ElasticSearch设计了4中类别的Suggesters。Term...

Elasticsearch之中文分词器插件es-ik的自定义词库

【 ik 自定义词库步骤】1:创建词典首先在 ik 插件的 config/custom 目录下创建一个文件 zhouls.dic (当然这个你可以自己命名,如my.dic都行)在文件中添加词语即可,...

elasticsearch 开机自启动——/etc/init.d

开机自启动,就是在系统启动后,自行启动elasticsearch,无需手动启动。一、查看已存在的开机启动项[root@qf01 ~]# chkconfig --list显...

elasticsearch中使用curl进行的简单查询

curl:-X :指定http的请求方式,有HEAD、GET、POST、PUT、DELETE-d :指定要传输的数据-H :指定http的请求头信息curl -XPUT http://ip:port/...

发表评论    

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