Listen to this blog as a podcast:
Since Algolia’s founding in 2012, our mission has been to create a search platform built by developers for developers. We’re now used by 500,000+ developers around the world.
Our strength relies on your success, so it’s vital for us that you get the results you want. To make your coding easier and more effective, we’re committed to sharing our development expertise with you every step of the way through Algolia Support .
Our globally-distributed team comprises 25 skilled engineers available day and night for 5 days of the week from wherever you are in the world. We know the ins and outs of the platform and we’re familiar with common user challenges.
Before you start coding, get in touch. Help and guidance is available for all paid Algolia plans. You can find details of the support included with your plan here. If you’re not yet part of a paid plan, we have online resources to help you out.
This blog post is from a presentation I gave at a recent Algolia DevBit. You can read this blog for a summary, or watch the entire presentation below:
Our experience shows that adhering to best practices from the beginning makes search building projects run more smoothly. Things can be changed and fixed later on, but you can avoid the “I wish I had known that before” regret by following a few practical tips from the get-go.
Here are the top five tips from Algolia Support that help ensure a successful implementation.
The safest and strongest first step is to organize your backups. You can do this a number of different ways on Algolia using out-of-the-box features from your dashboard.
These articles can help you choose the method that makes the most sense for your use case.
Our team has also written a code sample you can fork directly from GitHub to use as your backup solution.
Algolia quickstart samples in GitHub
Every website and API is a constant target of bot attacks. You need a plan for detecting and identifying bots and controlling bot usage. Without a strategy, spurious bots can exponentially increase the number of search requests.
To detect bots, focus on their actions, not their appearance. When you see what a bot is doing, you can take measures to restrict it. Securing your API key is essential, for instance, by limiting the number of search requests sent in a given timeframe. You can set a maximum number of requests per hour and fully control the amount requests each user can make.
Working with experts at bot prevention (e.g. Cloudflare) gives you a leg up on bot identification and mitigation and hardens your website overall. Consult our resources on bots and bot management to learn more, such as this in-depth video, Unmasking the bots: Understanding and mitigating bot search traffic.
Whenever you launch a project, you know where it’s going. But you need to plan ahead to make sure it’s scalable in the way you imagine. It’s difficult to change your architecture once it’s built, so looking at certain factors from the start is essential.
Indexes
Issue: Algolia has a practical performance limit of 1000 indexes, designed to ensure you get the best search experience. If you’re constantly adding separate indexes as you add customers, sites, and parts of the application, you could hit that limit, causing index management problems.
Solution: Build a more scalable and sustainable architecture from the beginning. Create a few main indexes that you can filter later on according to the attributes you want to separate.
Record size
Issue: When you’re returning search results to users, the size of the records returned matters. The more data returned, the slower the search experience, in line with Algolia’s performance limits (10 KB to 100 KB).
Solution: Try and reduce the size of your records. Instead of adding data to records, manage the process. Use variants that show a specific type of product that can then be controlled using the “Distinct” parameter. Check our site for more tips on how to minimize record size.
When your search application is up and running, learn the essential tips and tricks for diagnosing issues so that you’re prepared in case they occur. The best way to do that is to reproduce these issues. With Algolia, those diagnostics are available from the dashboard.
Diagnose settings and filter issues
Let’s say you’re using InstantSearch. But, like the example, it’s not returning any search results at all or only returning results from a single brand.

InstantSearch sends all requests through your browser, so you can investigate the issue using developer tools through the Network tab. When you filter for all requests coming from Algolia, you can see everything being sent to Algolia. Taking a close look at the Form Data often reveals the problem.
In this example, hitsPerPage is set to “0.” With that parameter, Algolia won’t return any results at all. A filter has also been set to only show results for a single brand: apple.

Sometimes filters get added without you realizing it. So when something seems broken, check your settings and filters and consider how they could be interacting with your search results. Check out our guide for this process with more detail here.
Debug using the +Add Query Parameter
Another powerful debugging feature is accessible from your Algolia dashboard. The +Add Query Parameter lets you see how search parameters are interacting with your search results.
Open up the Custom tab and paste in JSON from your request to see how it impacts your data. In this example, attributes are set to retrieve “name.” On the dashboard, you can see that only names of the products are returned.


With that information, you can reset your parameters to what you want or investigate further to test more interactions with your index.
When you type a search into the dashboard (“laptop” in the example), the “Query alternatives” toggle (upper right corner) tells you how the engine is interpreting the query you sent in.
The “laptop” query triggered two synonyms: “minicomputer” and “notebook computer.” A plural is also considered for “laptops.” We see some recommended typos to include, e.g. laptopf and flaptop. Because flaptop might be a product name, you could remove that as a potential typo.

In the search results, the ranking looks wrong. The first result has a low rating and popularity score and the result below it has a higher rating and popularity score. To understand why the results are ranked this way, hover over the Tiebreaker tab (the medal icon in the bottom right corner).


In ranking criteria, we see one matching word. In Settings, however, you can see a custom ranking set to “name.” When all other things are equal, these results are being ordered alphabetically.

This happens frequently because alphabetical order feels natural. However, relevance in search situations doesn’t coincide with the alphabet. You need a different ordering logic. The Algolia dashboard helps you avoid this by providing a notification that suggests you use a Boolean or numeric value, like the popularity or rating value, instead of a string value.
The most important thing to remember is if you’re struck, reach out for help. Find us at support.algolia.com and open a ticket to speak to the team. Prepare a bit to help us help you more efficiently:
Who are you? What’s the status of your site? What technology are you using?
Can you share a code sample or code sandbox to help us test your approach? If we can reproduce the problem, we can fix it.
What are you trying to achieve and why? We might be able to help you find an alternative method.
When you need assistance from Algolia, help is never far away. Bookmark support.algolia.com to get us on speed dial.
For more insight into Algolia support, watch my full DevCon presentation, Five practical insights from the front lines of Algolia Support.
Mat Bond
Director of Customer Support