Plugins
Templates
Blocks
Template Setup Guides

Algolia Search Plugin

Link to plugin page: https://zeroqode.com/plugin/algolia-search-1540375006836x287114215703707650

Getting Setup with Algolia:

1. Head to https://www.algolia.com & signup as a developer.

2. Once your signed up & logged in, navigate to your Dashboard console.

3. In your Dashboard Console's URL https://www.algolia.com/apps/8DCSWDS36R/dashboard ​ create an Index for your database

Important Note: All index in Algolia has to be lower case, so for example dev_IndexName wouldn’t work but dev_indexname would work

create an Index for your database
add records to algolia index

4. After the Index creation, add Records to your table

In Algolia the Index fields Keys should be created using lowercase (look screenshot below).

Getting Setup with Bubble:

The new version of this plugin has undergone some major changes in the security and convenience of use. Algolia Update - Security Dates Action has been moved to the API Calls section. Also, we added a "Delete Object" action that makes part of API Calls. As for the element's actions, as in previous versions, we are still able to link the Plugin element to a Bubble input, and we have access to the action "Algolia Search" with which we can call from the workflow.

Algolia - Update Object, Algolia - Delete Object API actions can be used in the Workflow API.

So to see the plugin in action it's necessary to install it. After installing it on the page, we'll have to indicate a few fields in the Plugins section to be able to work with this plugin:

X-Algolia Keys * are for API Calls, these keys make modifying and deleting Algolia objects in a secure way. Even in one case, we do not need to use the Admin Key as the "api_key" first field. After installation and configuration, we can install the Algolia Search item on the desired application page.

Index name - name at the Algolia index where we will search.

Search filter input ID - here we enter the id of the bubble element through which we will search. Data Type, Column - these fields in the next update will be removed.

Then in the Data Type we enter the type of data we want to look for in Algolia, and Column are the fields we want to look for. These must be completed for matching the ones with Database.

New setting in Algolia plugin, is:

Manual Fields - offers possibility to manually match the fields from algolia's index entries. This setting should be used with the latest version of plugin for easier way of matching the search.

As for the States, the plugin returns some the following:

unique id - is a list containing uniqueid from each result

found field_list * - object for each separate field in the results found, e.g. name, first name, language and others.

Matches Count - a number that reflects how many results have been found

Processing Time (MS) - the time that took the search to process

Offset - the number of results missed.

Error - If errors occur in the processing of searches, they will be transmitted in this state.

The element also has a "search" action that does the same actions as the element on the page, except that the element on the page must be linked to a Bubble Input, and the action can be accessed from the workflow.

API Calls:

Algolia - Update Object - an action running on the server side, obviously the administrator keys remain only in the administrator's view. With this action, we can add new items to our Algolia index. Adding is as follows:

each added object must contain an ID - to make this work simpler in the field where we must enter an ID we transmit the object ID in Bubble. Application ID is entered as Index Name.

An interesting part happens in the Content field, here we define how objects should look in Algolia "JSON format" for each field, we will enter the name of the field, and the dynamics of the field.

This action can be started as "Bulk" in the Bubble database. This way, the synchronization between Bubble and Algolia will be very fast, 10k updates / 1 min.

Algolia - Delete Object - an action that will delete an object from Algolia. This action contains the same fields as Update except for the Content field.

Also, to make search queries in Algolia, it will be necessary to make configurations in the Algolia Dashboard, such as faceting, ranking, searchable:

This screenshot only shows where you can find the settings, you do not have to copy what's on it.

Just like a sample search using the AND, OR filters:

Update 08/15/19

Two new propriety fields were added to plugin in conformity with Algolia documentation.

  1. aroundLatLng - type text, should contain latitude and longitude separated by a comma. Ex. "40.45637, -38.45236"

  2. aroundRadius - type number, should contain a radius in meters. Ex. 45000. (45000 = 45km)

These settings are used only for searching objects that contain "_geoloc" property if your objects don't contain this property then leave it empty. For more information please take a look to Algolia documentation: https://www.algolia.com/doc/guides/managing-results/refine-results/geolocation/

Demo to preview the settings