We are proud to announce that our Indiegogo funded Elasticsearch module is now stable enough to be beta tested by our community. If you have a development version of your site and would like to provide feedback on the module, we need you. I would like to say again, this module is a beta version, it is not stable enough for and does not have the all the features you will need in production. That being said, lets get to testing.

What is Elasticsearch?

In case you haven’t been following the search topics on the forum and our Indiegogo project, Elasticsearch is a super fast search engine that can supercharge your store’s search.

Enough introduction for now. Here is an example of what the beta module can do at the moment, when everything is set up properly:

Yes, that is the true speed. We did not fast-forward the gif 🙂

This example is hosted on a dedicated server, with Elasticsearch proxied by only an nginx server.

What do you need?

Elasticsearch is a two part system. The first part is a server running Elasticsearch. Elasticsearch is a restful search engine based off of Java. It will need to be installed on your server, so you will likely need root access to install Elasticsearch. The second part is the connector for thirty bees. This is what we have developed to allow thirty bees site owners to be able to use Elasticsearch with thirty bees. If you do not have root access to your server and know how to install a service via the command line, you can reach out to your host and see if they can install Elasticsearch for you. In the first beta we will be using nginx to secure and provide an Elasticsearch endpoint. This is how we can get the fastest search in our store. Later betas will have an ajax proxy that can be used if you want to avoid configuring your webserver. It will also make hosting it on Cloudways a breeze.

The documentation is currently being written at https://docs.thirtybees.com/native-modules/elastic-search/

Testing the module

Every beta we release will see more features unlocked. Testers that are tech-savvy enough, will probably find the code that currently blocks several features, but do note that we have blocked these features for a reason. We are aiming for a focused beta period. In the documentation we have provided a simple example on how to run Elasticsearch on a server with Plesk installed. At the very basic you will need to let nginx proxy the Elasticsearch server, configure the read and write nodes in the module, configure the search, the filters and eventually start indexing your products.

Currently we are looking for feedback about:

  • The search speed
  • The autocomplete
  • The filters (checkboxes only for now)
  • The module configuration page

Reporting bugs

If you encounter any bugs testing and using the module, please report them. The best place to report bugs for the Elasticsearch module is GitHub. That is what we are currently using to manage bug reports on beta software. To report a bug, go to the thirty bees Elasticsearch repository and click on the issues tab. From there you can create a new issue.

Writing a good bug report

Writing a good bug report is essential to us being able to solve the bug quickly and efficiently. Things we will need to know and how to help us with the bug reports:

  • How to reproduce the bug
  • What version of thirty bees you are using
  • If the bug has been reported before
  • Hosting information like: PHP version, Mysql version, Elasticsearch version, even the hosting service name helps too, because we are aware of configuration issues with some hosts
  • We might ask for access to your dev environment if it is a data specific bug, this is normal
  • If you can see an easy fix for the bug, by all means, please make a pull request

With this module we should be releasing patch versions very quickly to get it as stable as possible as fast as possible. The more testers, the more users, and the better quality of the bug reports will help us get the module stable in the fastest possible manner.

We are aiming to release a new version at least once a week, to make sure we keep up with feedback. I, myself, want to start testing in production, just a few betas from now, so you don’t have to. We are aiming to add all production features in beta 3.

Thanks for believing in us, and supporting open source, happy testing!