Here’s a quick third beta of the module. Due to the high complexity of this search module we have decided to release betas more often and allow you to test more. Since beta 2 a lot of progress has been made when it comes to theme support. Currently these themes are supported:
- Community default theme
- Transformer theme
- Panda theme
- Warehouse theme (partially – lacking the list option)
The non-default themes come with a lot of configuration options, which is great, because that allows you to personalize these themes as much as you like. This comes at the cost of performance, an issue we had to take into account when building the Elasticsearch module, e.g. most of the theme configuration checks have been moved to vue.js (what we use to quickly render the search) in order to keep the millisecond search and not delay it by seconds. This means that some features, such as the wishlist and product comparison will stay disabled for now. Also hooks and specific pricing (more specific than group discounts) are not supported at the moment, since these cause long delays and will slow down the search by a lot. The good news is, we have already found a solution, making a fully featured Elasticsearch module possible without compromising features!
Thanks to a nice module architecture (with vue.js) we have been able to replace some hooks, such as the product delay message (Advanced EU Compliance module) with dynamic hooks and still keep the search FAST. This is possible by showing a preview with the flattened data in Elasticsearch and later updating this info with an additional call to the store’s server. More info on this subject and the possibilities in a later blog post, when we will tell you more about the post-1.0.0 plans for this module.
Also, a few reported bugs have been fixed, when it comes to using the ajax proxy (i.e. when the Elasticsearch server runs on localhost), using clean URLs, having duplicate codes (for a property, feature and/or attribute) in the store. The latter used to crash the module, but should now be fine.
Note that thanks to beta 2 we have decided to work on an alternative for the codes used. The codes you see in the blue, yellow and red labels on the module’s configuration page are the codes used by the module to refer to these properties. It is important that these codes stay unique otherwise the module cannot function properly. The codes are based on the names of properties and go through a special URL filter to make sure the module can even use them to generate clean URLs. So naming them properly will help with building clean URLs. Therefore we have decided to add aliasing to the next beta, to make sure you can use the URLs you like.
If you’re on one of the supported themes, go ahead, test the module and let us know your feedback. We would love to hear your experience!