Setting up multiple indices in Algolia

Algolia allows you to set up multiple indices to store different types of data. This is useful if you want to localize your search results. You can create multiple indices for different languages, currencies, countries, etc.

Before you start

Make sure you have translated all the data that you will be indexing. Some stores use a translation app like Langify or Weglot that translate the content on the go, but that means the content remains untranslated in Shopify's backend. In that case, all the content indexed by Algolia will be in the same language as the primary one for the store.

Index settings

Algolia integrates with Shopify Markets, so you can manage all the different region/language combinations following the same logic.

Indexing data

Once the configuration is complete, Algolia will start indexing the data which can take a while depending on the size of your product catalog. When you make some edits on an index, it's possible to replicate them to other indices, avoiding having to do the same task multiple times.

Multicurrency support

One way to handle multiple currencies is to index the primary currency plus any addicional currency/price combination. Then, when the results are presented, we will be filtering based on the current settings.

Workaround

If you don't use Shopify Markets, you could still index the different languages in Algolia and let your Algolia script decide which indices to load.

As you start managing several languages, you may want to use the Category ID instead of Category Title or you may run into problems when translation URLs. The idea is that the script should be able to load the right category without relying on a word like 'Women' that can be 'Mujer' in other language.

Conclusion

I haven't seen so far any major limitations and it's possible to fully localize the Algolia Experience to any language.

The biggest hurdle to scaling this process, is automating the translations so we don't have to spend a lot of time every time new products are added to the store.