marco-pm / zencart-typesense
为 Zen Cart 集成 Typesense(即时搜索插件附加组件)。
dev-main
2023-07-30 14:34 UTC
Requires
- php: 7.4 - 8.2
- symfony/http-client: ^v5.4.20
- typesense/typesense-php: ^v4.8
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。
先决条件
- Zen Cart 1.5.7 或 1.5.8
- PHP 7.4 到 8.2
- 即时搜索插件 4.0.0 或更高版本
- Typesense 服务器 0.24.0 或更高版本
安装、使用和常见问题解答
请参阅 readme.html。
故障排除
请参阅 readme.html 中的常见问题解答和故障排除部分。
开发
Typesense PHP 客户端
Typesense PHP 客户端是此插件的依赖项,不包括在存储库中。要安装它
- 将供应商文件(附在 GitHub 发布中)复制到插件的目录中
- 或者,安装 composer,将
composer.json
和composer.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