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 own 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 solution, and our docs will walk you through every possibility. But first, why not see Algolia in action?
The entire system that manages your data and search requests was built 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 engine is to find all items that match a query, then to order them from best to worst. We explain what relevance and ranking mean in many parts of our documentation, but the overriding principle is that Algolia uses a tie-breaking algorithm, using a variety of criteria, to weigh and compare matching items against each other. This ensures that the best matches appear at the top.
The methodology and criteria that Algolia uses to find records and rank them is openly available for your scrutiny. Furthermore, most of it is configurable, making all engine defaults adaptable to your unique needs. This is what we mean by transparency: Algolia has made every effort to provide a window into its search algorithm. There are no secrets or complicated statistical formulas.
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. And this is what ultimately determines the order of the results.
Search - A Complete Solution
Algolia does everything to make search as user-responsive as possible. We let you take advantage of this by giving you everything you need to build an as-you-type search experience with instant results. Users greatly benefit from seeing results instantly appear on their screen, nicely formatted and containing images and short descriptive texts. It lets them adjust their queries and make decisions painlessly, as they type. We call this search at the speed of thought, not just to be catchy, but to express how vital visual immediacy is to the decision-making process.
While speed is key to that, many other aspects go into making Algolia a full-featured, comprehensive search solution: custom ranking, configuration & adaptability, front-end UI components (InstantSearch), personalization, analytics, A/B testing,… we cover everything in the documentation.
Implementing Algolia can be broken down into 3 steps:
- Indexing your data in Algolia
- Configuring relevance or ranking settings
- Building a search user interface
To help you build the best solution as quickly 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. The InstantSearch widgets can be used out-of-the-box with no further customization. They can fit into your existing app as is, but they’re also fully customizable to match your needs.
Analytics & Insights
To help with configuring your search, we provide constant and reliable feedback. This is crucial to knowing whether your search solution is doing what you’re expecting from it. Algolia provides such feedback by capturing all user activity, and giving you the capacity to track click and conversion events, perform A/B testing, and personalize relevance.
Every Algolia customer is hosted on a 3-server architecture called a cluster. In terms of reliability, having three servers means that if one or two go down, there’s always another one ready and available. Having all three servers go down at the same time is extremely rare, especially given that they’re not located in the same data center. Algolia considers service availability as one of its highest priorities.
In terms of speed, two things to note.
- Algolia servers are placed as close to your user-base as possible. This reduces the network distance/latency between a client’s search request and the Algolia servers.
- Secondly, these servers are highly performant, allowing us to place all searchable data in local memory. This is how we guarantee instant response time.
To ease the integration of Algolia, we provide:
- A full-featured dashboard to manage data and configurations.
- A set of front-end libraries called InstantSearch, to help you implement Algolia on your website (vanilla JS, React, Vue) or application (iOS, Android).
- Integrations for frameworks, including Laravel, Symfony, Django and Rails.
- Extensions for Magento 1, Magento 2, Shopify, Wordpress, Zendesk and Jekyll.