← Back to Blog
Super-powered search: Algolia vs Elasticsearch September 9, 2019
Read on to find out our opinions on Algolia vs Elasticsearch.
Search is something which almost any site or app with more than a few pages can benefit from. Whether it’s a small CRM, a forum in a niche corner of the internet or a world-wide tech giant like Facebook or YouTube it’s important that the user can find the information that they want quickly and easily without having to wait. Once a site passes a certain size it becomes almost compulsory to offload auto-suggest and searching functionality to a specialised tool which pulls the search experience up, out of the gutter and enables site-wide searches to be completed in a matter of milliseconds. This is where services like Elasticsearch and Algolia come in.
How do they work?
Both Algolia and Elasticsearch do the same thing: Index your data so that it’s quick to search. Put simply, they store a copy of the data which you choose to give them in a format which you create and generate an index from it. All this means is that it’s in a format which is significantly easier for a computer to look through and determine which pieces of data are relevant to the search, and which pieces aren’t. If you’re interested in the technical details then you can read lots more about the inner workings of Algolia here and Elasticsearch here.
Algolia vs Elasticsearch: How are they different?
First and foremost, Algolia is a hosted SaaS (Software as a Service) option, which means that they handle the hosting of the indexing system and the storage of all the data themselves. This, in turn, means less work for developers to set the system up, and a brilliantly clear and easy-to-navigate user interface so you can see all of your data displayed logically and edit any data points you need to.
The system also shows the analytics of recent searches and displays clear graphs detailing the usage of the system each day. Overall, Algolia requires much less technical knowledge to use than Elasticsearch does (I’ll get onto that later) and offers more fine-grained control for the user to be able to change the results which the searchers see-through features like custom weighting for records and the ability to define which fields are searchable.
Algolia also offers many developer tools such as libraries for integrating their service into your app regardless of what it’s built-in and extensive documentation for developers to use to build the best system possible.
On the other hand, Elasticsearch is, at least historically, self-hosted on a server which you own. This leads to more flexibility and the ability to set up the system exactly how you want it but it also exposes the problem of security and permissions. If the system is not configured correctly and with due care then it can leave your indexed data vulnerable to outside parties which who can read and, in the worst cases, edit the information which is used by your site’s search.
Assuming the developer knows what they are doing though, then there should be no security risks inherent in using Elasticsearch. There is also the aspect of slightly more technical overhead and maintenance such as keeping the software up to date on your server.
AWS (Amazon Web Services), an industry-leading tool for all things web, provides a solution for hosting and running Elasticsearch which offers (in true AWS style) a stripped-back interface to interact with your settings and indexed data. This helps to speed up initial set up of the software (compared to running your own instance) and get your super-charged search system off the ground quickly, however, it does take some research to use efficiently if the developer has never used it before.
Something worth noting is that Elasticsearch now offers a hosted SaaS solution named Elastic Cloud which provides (I would expect) a similar set of tools to Algolia, however, I have no previous experience with the tool and so have left it out of this post.
Elasticsearch is, in conclusion, a much more stripped back system which aims to achieve the same thing as Algolia: a search experience that you can be proud of. There are differences in the technologies through, Algolia offers the finesse of a SaaS platform used by millions, whereas Elasticsearch is widely used and allows the developer on the project fine-grained control all the way down to the server level.
If you’re looking for affordability, then Elasticsearch is should be the choice you make. If it is set up with AWS’s Amazon Elasticsearch Service then you only pay for what you use and there’s no monthly minimum. If the search is used by 0 people, then it costs you nothing. Algolia does have a free plan, which It recommends for small projects, but the prices quickly ramp up to first, $29 a month and then $499 per month which they market as an “Entry point for SMBs to enable their business with search“ (Reference ).
These two search engines have different selling points and there are many reasons to choose either one or the other depending on your needs. That being said, they both provide services which help to give your site or app search that your users will love.