Algolia Search Plugin

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

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. In the next update, these fields will be replaced with one, in which we manually enter the fields we want to search for in Algolia.

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:

With the new updates this item will change.