Sync the Zen Cart catalog with a Typesense server and use Typesense as Instant Search engine.
This plugin is an add-on for the Instant Search plugin and allows to use Typesense as search engine (in place of MySQL).
- Faster searches and more accurate results than MySQL, including typo tolerance and synonyms.
- Automatic synchronization of the Zen Cart catalog (products, categories and brands) with Typesense.
- Includes a basic dashboard in the Zen Cart admin to monitor the sync status, view Typesense server status and collections, and manage synonyms.
- Automatic fallback to MySQL if the Typesense server is not available.
- Zen Cart 1.5.7 or 1.5.8
- PHP 7.4 through 8.2
- Instant Search plugin 4.0.0 or later
- Typesense server 0.24.0 or later
See the readme.html.
See also the FAQS & troubleshooting section in the readme.html.
The Typesense PHP client is a dependency of this plugin and is not included in the repo. To install it:
- copy the vendor files (attached to the GitHub release) in the plugin's directory
- OR, install composer, copy
composer.json
andcomposer.lock
in the plugin's directory and run:composer install
To build the .js
files from the .tsx
sources, install Node.js and NPM, then run:
npm install
npm run build-typesense_dashboard
- Consider implementing an optional "frontend search" mode, i.e. sending the search request directly to the Typesense server with JavaScript, without going through the Zen Cart backend.
- Add more features to the admin dashboard, e.g. manage curations.
- Make some low-level search settings configurable in the admin, e.g. num_typos.
Integration tests use the Test Framework of Zen Cart 1.5.8.
Place the content of the tests
directory of this repo under /not_for_release/testFramework
.
Run the tests with:
php phpunit --configuration phpunit_typesense.xml