How Algolia Works
On this page
Algolia is a hosted search engine capable of delivering real-time results from the first keystroke. Algolia’s powerful API lets you quickly and seamlessly implement search within your websites, mobile, and voice applications. Our search engine powers billions of queries for thousands of companies every month, delivering relevant results in under 100ms anywhere in the world.
The first step is to send your data to Algolia, in a proper format. Once on Algolia’s servers, you can start testing our search functionality with your data. You can do this without code, using the dashboard, or with code, using one of our API clients. At this stage, you’ve got the basic structure of an Algolia search solution.
There’s much more to creating a full search implementation, and our documentation walks you through every possibility. But first, why not see Algolia in action?
The Algolia engine
We build the Algolia search engine to ensure speed at every point in the processing workflow. For example, search requests always have priority over indexing operations, to guarantee an optimal experience for your end-users.
The primary goal of the Algolia engine is to find all records that match a query, then to order them with the best ones first. We explain what relevance and ranking mean throughout the whole documentation. Still, the overarching principle is that Algolia uses a tie-breaking algorithm with a variety of criteria to weigh and compare matching items against each other. This ensures that the best matches appear at the top.
Here are some examples of the ways the engine compares records.
- Is there a typo? If yes, how many?
- Does the query match on the first letter? Does it match the whole word? Or only partially?
- Does the word match a synonym?
- Does the query match the title of a record or its description?
- Is this item more popular than another item?
When you add up the answers to these questions, some records have a stronger or weaker relevance. It’s what ultimately determines the order of the results.
The methodology and criteria that Algolia uses to find and rank records are openly available for your scrutiny. Furthermore, you can configure most of it, making all engine defaults adaptable to your unique needs. This is what we mean by transparency: we’ve made every effort to provide a window into our search algorithm. There are no secrets or complicated statistical formulas.
An end-to-end search solution
At Algolia, we think you can’t build high-end search without excellent user experience. This is why we give you everything you need to build an as-you-type search experience with instant results. We believe users greatly benefit from seeing nicely formatted search results with images and highlighted text instantly on their screen, rather than having to submit their search and wait around. We call this “search at the speed of thought”, not only to be catchy but to express how vital visual immediacy is to the decision-making process.
While speed is key to user experience, many other aspects go into making Algolia a full-featured, comprehensive search solution: custom ranking, configuration, and adaptability, tailored UI components for the front-end, personalization, analytics, A/B testing… we provide everything you need to build excellent search, and we cover everything in the documentation.
You can break down how to implement Algolia into three steps:
- Indexing your data into Algolia
- Configuring relevance and ranking settings
- Building a search user interface
Building a search UI with InstantSearch
To help you build the best solution as quickly and frictionlessly as possible, we provide a family of UI/UX libraries called InstantSearch. InstantSearch offers a full set of UI components that you can use on any web, mobile, or voice application. In minutes, you get a fully-functional search UI. You can use the InstantSearch widgets out-of-the-box, or fully customize them to match your needs.
Insights & Analytics
Building excellent search is also about refining it based on how users interact with it. To help with it, we provide constant and reliable feedback. This is crucial to know whether your search solution is achieving your goals. Algolia provides such feedback by capturing user activity and giving you the ability to track click and conversion events, perform A/B testing, and personalize relevance.
Algolia hosts each customer on a three-server architecture called a cluster. If one or two servers go down, there’s always a third one ready and available. Having all three servers go down at the same time is extremely rare, especially given that they’re not in the same data center. We consider service availability as one of our highest priorities.
We have servers all around the world, allowing you to have your data as close to your user base as possible. It reduces the network distance and latency between a users’ search request and the servers. These servers are highly performant, letting us place all searchable data in memory. This plays a significant role in how we guarantee an instant response time.
The full ecosystem
To ease the integration of Algolia, we provide:
- A full-featured dashboard to manage data and configurations.
- Integrations for frameworks, including Laravel, Symfony, Django and Rails.
- Extensions for Magento 1, Magento 2, Shopify, WordPress, Zendesk and Jekyll.
- An automated crawler to extract content from multiple sites and send it to Algolia.