Magento Search – Algolia vs Elasticsearch

Edit: As Zach mentioned in the comments below, this is a comparison of Bubbleshop’s Elasticsearch Magento implementation and not necessarily a reflection on ES’s true capabilities. But since the ES creators have not released a Magento plugin to make ES truly shine (as the Algolia creators have), this is the best of-the-shelf Magento ES implementation we have to date.

Magento is a great platform for eCommerce, but let’s face it, it’s search leaves a lot to be desired. This isn’t necessarily Magento’s fault, but the underlying database powering it, MySQL. It was never meant to provide Google-like quality search results. This is where products like Algolia and Elasticsearch step in.

See for yourself

In the words of LeVar Burton “you don’t have to take my word for it”. Try some searches below to see how they compare.

Click here to try them out side-by-side

Algolia markets itself as “Hosted Search API that delivers instant and relevant results from the first keystroke” which would be difficult to argue with. In my initial testing with very little configuration I found Algolia to provide great results using Magento’s test store Madison Island. It’s a SaaS offering that has a starting price point of $49/month which might prove to be a bit steep for smaller online stores. They also have a free offering that allows 1000 docs and 50,000 operations, but I think it’d only be sufficient for very small web stores. Particularly due to the operations limit which I go into more detail below.

Elasticsearch on the other hand is an open source offering. You can pay someone to host it for you, or download the software free of charge and run it on your own server. The Magento plugin, by BubbleShop, we use to interface with Elasticsearch retails for $99 but is a one time fee.

Relevance

Winner Tie
magento elasticsearch algolia relevance

Both Algolia and ES show pretty much the same results. It looks like Algolia defaults to show categories first (which I imagine is configurable in the ES plugin) which I like.

Attribute Relevance

Winner Algolia
magento elasticsearch algolia relevance attributes

In the above image we see that searching for a specific attribute (the colour red) sends us back the correct results for both search engines. I did have to tweak Algolia’s setting in Magento for it to index attributes, but it was very easy.

Spelling

Winner Algolia
magento elasticsearch algolia spelling

Algolia seems to win here. Although ES does have a suggester, it doesn’t come into play until you actually visit the results page (see below). Having live results display even when the user spells incorrectly is a big plus for Algolia.

Algolia

Algolia's search results page with a spelling error. No need to click on 'Did you mean', it just figures it out.
Algolia’s search results page with a spelling error. No need to click on ‘Did you mean’, it just figures it out.

Elasticsearch

Elasticsearch's search result page on a spelling error isn't quite as good as Algolia. You have to click the suggestion to get relevant results.
Elasticsearch’s search result page on a spelling error isn’t quite as good as Algolia. You have to click the suggestion to get relevant results.

Speed

Winner Algolia
Algolia is the clear winner here. Results are almost instant. This is pretty important in this day and age where people have are used to Google’s instant autocomplete features. Even just a few hundred milliseconds can make a big difference. Bubbleshop’s demo store took almost 10x as long (~450ms compared to Algolia’s 50ms) to deliver results compared to Algolia.

Price

Winner Elasticsearch
Algolia’s plans start at $49/month. I mentioned above that most smaller shops wouldn’t fit into the ‘free’ plan they offer due to the limit on operations. For example, I setup the Madison store, and tested out a few searches over the course of several days. I’d say that my usage probably represented about 5 average visitors to a site. I racked up 2,311 operations in the process. At this rate if I averaged 1000 visitors a month I’d probably burn through the 50K limit in a about one week.

Elasticsearch is free. But you’ll need a place to host it. You can setup your own server and do this, but then you have to manage it, and pay for hosting. There’s also hosted solution which generally start around $40/month. If you have the technical abilities and already have the server resources, ES becomes a very attractive alternative. As mentioned above you’ll also need to purchase the plugin for a one-time fee of $99.

And the winner is…

Algolia overall seemed to have the best results, although Elasticsearch was not far behind. Once you factor in speed Algolia becomes the clear winner here. The only hesitation I have with Algolia is the price point. I just wished they offered a paid plan under $49 per month. For most small eCommerce sites, it make it harder to justify the additional expense.

Also Algolia prohibits sharing a plan with multiple users. So developers and hosting providers won’t be able to simply offer this as an add-on to their customers. Even worse, there’s no affiliate program, meaning there’s little incentive to recommend them.