fecmall-2 如何添加一个search 引擎

技术分享 · Fecmall · 于 3年前 发布 · 1212 次阅读

fecmall默认支持mysql,mongodb,xunsearch扩展,您可以默认使用,如果不满足您可以二次开发

详细说明:

1.打开文件@fecshop/services/Search.php文件:https://github.com/fecshop/yii2_fecshop/blob/master/services/Search.php#L181

通过这里找到当前的search engine

搜索和当前语言是绑定的,因此,可以通过当前的语言找到对应的search engine

2.search engine list: https://github.com/fecshop/yii2_fecshop/blob/master/app/appadmin/modules/Config/block/search/Manager.php#L29

您可以重写这里,添加搜索引擎,重写后,您可以在后台看到。

您可以在后台编辑,进行开启和关闭您新添加的search engine

3.为当前语言选择 search engine

多语言对应的search engine,只会出现enable状态的search engine,您可以将某个语言设置对应的search engine

4.二次开发,添加search engine

4.1在配置中添加配置

添加配置参考:https://github.com/fecshop/yii2_fecshop/blob/master/config/services/Search.php

您二次开发,需要在本地common config添加search的配置

譬如:

'xxxSearch'  => [
                'class'        => 'common\services\search\XxxSearch',
            ],

4.2新建search services,实现里面的方法,您可以将:https://github.com/fecshop/yii2_fecshop/blob/master/services/search/MysqlSearch.php

里面的内容复制到@common\services\search\XxxSearch.php,然后进行重新实现里面所有的函数

5.Example

上面说的是大致的原理,关于具体开发,您可以还有迷惑,您可以在应用市场安装 ElasticSearchhttp://addons.fecmall.com/44669378

参考这个实现,安装后的代码在addons/fecmall/目录下面。

共收到 0 条回复
没有找到数据。
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics