marco-pm/zencart-typesense

为 Zen Cart 集成 Typesense(即时搜索插件附加组件)。

dev-main 2023-07-30 14:34 UTC

This package is auto-updated.

Last update: 2024-09-30 02:16:01 UTC


README

同步 Zen Cart 目录与 Typesense 服务器,并使用 Typesense 作为即时搜索引擎。

特性

此插件是即时搜索插件的附加组件,允许使用Typesense作为搜索引擎(替代 MySQL)。

  • 比 MySQL 更快的搜索和更准确的结果,包括拼写容错和同义词。
  • 自动同步 Zen Cart 目录(产品、分类和品牌)与 Typesense。
  • 包括 Zen Cart 管理员中的基本仪表板,以监控同步状态、查看 Typesense 服务器状态和集合,以及管理同义词。
  • 如果 Typesense 服务器不可用,则自动回退到 MySQL。

Admin dashboard

先决条件

  • Zen Cart 1.5.7 或 1.5.8
  • PHP 7.4 到 8.2
  • 即时搜索插件 4.0.0 或更高版本
  • Typesense 服务器 0.24.0 或更高版本

安装、使用和常见问题解答

请参阅 readme.html

故障排除

Zen Cart 论坛支持线程

请参阅 readme.html 中的常见问题解答和故障排除部分。

开发

Typesense PHP 客户端

Typesense PHP 客户端是此插件的依赖项,不包括在存储库中。要安装它

  • 将供应商文件(附在 GitHub 发布中)复制到插件的目录中
  • 或者,安装 composer,将 composer.jsoncomposer.lock 复制到插件的目录中,然后运行
    composer install
    

管理员仪表板

要从 .tsx 源文件构建 .js 文件,请安装 Node.js 和 NPM,然后运行

npm install

npm run build-typesense_dashboard

待办事项

  • 考虑实现可选的“前端搜索”模式,即使用 JavaScript 直接将搜索请求发送到 Typesense 服务器,而不通过 Zen Cart 后端。
  • 在管理员仪表板中添加更多功能,例如管理精选。
  • 在管理员中使一些底层搜索设置可配置,例如 num_typos

测试

集成测试使用 Zen Cart 1.5.8 的 测试框架。将此存储库 tests 目录的内容放置在 /not_for_release/testFramework 下。

使用以下命令运行测试

php phpunit --configuration phpunit_typesense.xml