🔎 Algolia Search V2.0 - Major Plugin Update from Zeroqode

I actually ended up building a solution that works as expected.

Backend workflow on a database trigger, when a new item is added I use the the ‘Add Object’ action.

MOFO-MAVEN___Bubble_Editor

2 Likes

I’m having some issues with filtering data, I was following your docs here (https://docs.zeroqode.com/plugins/algolia-search-v2.0-plugin-for-bubble#e516e189d6604667a2b6f23d3a6976c2).

When the ‘filters’ is left blank search is working as expected (see products listed):

But when I hardcode a filter in to test nothing shows up: see the Manufacturer filter, search results and Algolia set up…

Filter:

Results:

Algolia data:

Algolia Attributes for faceting:

Hello @andrewmccalister,

Could you please try to remove the space in the “filters” field and give it another try? For example:

image (4)

In your case, it should be ‘Manufacturer’: ‘Memo Furniture’

Hope it helps!

Best regards,
Zeroqode Support Team

Hi @ZeroqodeSupport, thanks for the advice, your formatting works, but I think it was actually an Algolia set up issue,

I’ve run into a few other issues with the filters, if you could help:

Doing one filter whether it is numeric or text works great, however, when I try and combine them, it fails (the search returns the incorrect or no results). Is my formatting incorrect?:
MOFO-MAVEN___Bubble_Editor

Also, when I try and search by Array it doesn’t work at all. E.g I want to send an array to Algolia for it to cross compare again the item in my index. Can you advise on how to format it ( I had a look at your docs but it didn’t specify the format required). Some that I’ve tried:
MOFO-MAVEN___Bubble_Editor
MOFO-MAVEN___Bubble_Editor
MOFO-MAVEN___Bubble_Editor

Hello, @andrewmccalister
Thanks for all these details.

In order to provide you with a more precise answer, we need to consult with our Development Team.
It seems like the issue is related to the way you filtering the data.

We will revert with an update as soon as will discuss with our team.
Best regards,
Zeroqode Support Team

Hi @ZeroqodeSupport , thanks.

FYI - I solved the tag issue by setting it up as follows:

, which equates to:
MOFO-MAVEN

However, I still have issues when I try and combine multiple filters in the filter box, like so:
MOFO-MAVEN___Bubble_Editor
, which sets up as so:
MOFO-MAVEN

For anyone interested, I had to go far deeper to get a more complex filter to work…

There were actually three things causing issues:

  1. You can’t send a filter with an empty parameter (i.e Manufacturer: “”)
  2. For Attributes with a space (’ ') in the name, you need to put the attribute name in “”. e.g an Attribute named List Price needs to be added to the Filter as “List Price”.
  3. You can’t have Boolean operators (AND) not attached to an Attribute. “Manufacturer”: “Mfr_1” AND “List Price” < 5000 will work but “Manufacturer”: “Mfr_1” AND will not work.

This all means that having dynamic filtering takes more thought.

I set it up such that an Attribute is only included in the Filter if a user has chosen to filter the RG by that Attribute (meaning it exists in a custom state and has a value) - via :format as text for a list or :find & replace for a single item. I combined that with conditionals so there was never an ‘AND’ without an associated Attribute.

3 Likes

Hello, @andrewmccalister
Thanks a lot for this useful information.

From our side, we are also checking if that possible to combine the multiple filters on the plugin’s side.
Once we will find any solution, we will let you know.

Best regards,
Zeroqode Support Team

Hey all,

By this message, we would like to notify you that we have updated the plugin and added new action ’ Save Objects’.
Please update the plugin to Version: 3.31.0. and try it.

I hope you’ll find it useful for you.
Best regards,
Zeroqode Support Team

@ZeroqodeSupport

I’m trying to figure out, if it’s possible to restrict access to data using this plugin?

I understand that for many use cases, this is irrelevant, but I do think that this would result in added value to your plugin.

I’d certainly would be interested in taking advantage of this :+1:

Reference to Algolia documentation: User-restricted access to data | Algolia

Hi @bryanrcosta,
Hope this message finds you well.

We’ve checked with the dev team regarding your request, and yes, the Algolia Search V2.0 Plugin allows restricting access to data.

Here is an example of an Object:

Use the action Set Algolia Settings where you can change the Attributes for Faceting field:

Attributes for Faceting - The complete list of attributes that will be used for faceting. Use this setting for 2 reasons: to turn an attribute into a facet to make any string attribute filterable. By default, your index comes with no categories. By designating an attribute as a facet, enables Algolia to compute a set of possible values that can later be used to filter results or display these categories. You can also get a count of records that match those values.

In the Algolia dashboard you can check if the action was applied:

Hope the above will be useful for you and your use case.
If you require any further information, let us know.

Best regards,
Zeroqode Support Team.

Hi @ZeroqodeSupport ,

I am getting a JS exception when the result of the algolia search includes a “null” field. How can I prevent this?

Another question:
How can I access data in an array of my result? Like in this structure:
item = { name: "asdf", attributes: [ { id: 234, name: "asdf" }, { id: 235, name: "asdfaaa" } ] }

If I request the field attributes.name I can see that the data is fetched correctly. But I can not access the data then with itemX etc. It is always empty.

Unsubscribing for now. Waiting for an answer.
@ZeroqodeSupport

Hello, @stefan.pointecker
Thanks for your time.

In order to replicate it on our side, we need to know which plugin’s version you are using in your app.
Please provide this information to us :pray:

Unfortunately, you can’t access data in an array.

We are looking to hearing from you soon.
Best regards,
Zerooqde Support Team

It was version 3.34.0

Okay, then I need to rethink my approach :roll_eyes:

Okay, I just tried to access data in an object like:
hitObject = {
name :“asdf”
object: {
attribute: “axxxx”
}
}

Accessing hitObject.object.attribute is also not working?

From your docs at https://docs.zeroqode.com/plugins/algolia-search-v2.0-plugin-for-bubble

  • Fields to retrieve - Write here the name of the fields you want to get from Algolia. The name of the fields must correspond to the name of the fields in Algolia. An important field. Let’s say we have an object structure like this in the Algolia index [image here] and we want to retrieve fields “name” and “email”, the input value should look like this [image here]. (text)

Images are missing in docs but I think it should be my use case.

Hello, @stefan.pointecker
Thanks for these details :pray:

As for this issue, please allow us to note that we were able to reproduce this bug on our side. Our development team is already working on fixing it. We will let you know once it would be ready.

Let us check with the team too. This will help us to avoid misleading on that point.

Best regards,
Zeroqode Support Team

1 Like

Do you have an estimate for me when you have more information for me? This is currently a blocker for me.

Hello, @stefan.pointecker
Thanks for your patience.

We will revert with an update at the nearest time ( most probably Tomorrow).
Our team is working on the problem and once the plugin will be deployed - you will be notified.

Best regards,
Zeroqode Support Team

1 Like