搜索中心

SearchCenter
提供全站通用的内容搜索中心
模块依赖 需要先安装以下模块才能安装本模块
模块介绍

模块介绍

「搜索中心」是一个提供全站通用的内容搜索中心

使用说明

搜索中心提供了为网站提供了一个通用搜索的功能,使用时,其他模块将可搜索的内容主动推送到本模块,可以实现全站搜索的功能。

功能列表
    多模块支持
    搜索引擎
        MySQL(默认)
        ElasticSearch(安装 SuperSearchES 模块)
        其他(待支持)

如何使用

① 在模块中继承并实现实现 SearchCenterBiz

use \Module\SearchCenter\Biz\SearchCenterBiz;
use \Module\SearchCenter\Biz\AbstractSearchCenterBiz;

class XxxSearchCenterBiz extends AbstractSearchCenterBiz
{
    const NAME = 'xxx';

    public function name()
    {
        return self::NAME;
    }

    public function title()
    {
        return '模块需要搜索的内容';
    }

    public function syncBatch($nextId)
    {
        $batch = ModelUtil::batch('xxx', $nextId, 10);
        $batch['records'] = array_map(function ($o) {
            return [
                'biz' => self::NAME,
                'bizId' => $o['id'],
                'url' => modstart_web_url('xxx/' . $o['id']),
                'title' => $o['title'],
                'content' => $o['content'],
                'keywords' => [],
            ];
        }, $batch['records']);
        return $batch;
    }
}

② 注册搜索中心业务

<?php
class ModuleServiceProvider extends ServiceProvider
{
    // ...
    public function boot(Dispatcher $events)
    {
        // 注册搜索中心业务
        SearchCenterBiz::register(XxxSearchCenterBiz::class);
    }
    // ...
}

③ 同步搜索内容到搜索中心

可以通过后台手动同步:

后台 → 内容管理 → 索引构建(右上角)→ 全量同步。

也可以在模块开发过程中,在数据变动的地方通过代码自动同步:

use \Module\SearchCenter\Biz\SearchCenterBiz;
// 增加/更新内容
SearchCenterBiz::update('xxx',1,'/xxx/1','标题','内容',['关键词','关键词']);
// 删除内容
SearchCenterBiz::delete('xxx',1);

④ 在搜索界面搜索结果

访问 /search_center 界面,输入关键词搜索。

默认情况下会搜索同步的 title、content、keywords 字段。

后台菜单

  • 内容管理
  • 内容管理搜索中心
获取模块
¥199.00
一年内免费更新升级
提供源码,私有化独立部署
问答社区技术支持
正版授权,允许商业使用
授权主域名 x 1
禁止转售模块源码
开发商
ModStart
ModStart官方出品
模块信息
标识
SearchCenter
环境
Laravel5 Laravel9
大小
14.7KB
版本
1.3.0
发布
2024-01-12
MSCore版本要求>=3.3.0
在文件 vendor/modstart/modstart/src/ModStart.php 中查看 $version。
QQ
微信