[New feature] [Beta] Algolia search integration!

Hi everyone,

We just rolled out a new core integration with the search engine provider Algolia, which is available for the Professional tier and above.

It is currently in Beta - it is already available for all main cluster apps, and dedicated instances will be able to see it in an upcoming version you can upgrade your instance to.

:dart: Key highlights:

  • Super fast searches on indexed types
  • Partial word matching (only on the beginning of a word)
  • Customizable search (field priority, typo resilience, case sensitivity) via Algolia interface
  • Can be used either for Search Boxes or as a generic data source
  • Data types and fields sent to Algolia are configured from the editor (via Privacy page in the Data tab)

:pencil2: Tips and gotchas:

  • This feature will use your own Algolia API keys, i.e. you must be an Algolia user. They provide a free tier as well as free 7-day trials for premium tiers on their website.
  • Initial indexing of existing types can be slow and will use capacity
  • At the moment (for the Beta), updates to indexed types should be synced to Algolia automatically, but there might be situations where your Algolia index falls out of sync with your Bubble tables (e.g. if certain updates fail for whatever reason). In this event, you can trigger a full re-indexing that should address any problems, should there be any.
  • At the moment, custom fields (i.e. fields which are other data types) cannot be indexed in Algolia
  • As you’re exploring Algolia’s features, you’ll notice that you can configure the order of different fields of your index in terms of order of priority / search; there will be situations where you can weight two fields equally, but you should NOT do this because it will break Bubble’s implementation (i.e. all fields should be kept in a strict linear order of priority)
  • At the moment, some Algolia features (query size, pagination, typo sensitivity…) are not handled on Bubble’s side. You can adjust these settings on a per-table basis in Algolia’s configuration dashboard, but not directly in the Bubble Editor

Enjoy, and be sure to send any bug reports our way!

29 Likes

Really excited about this!

@aless , do you have a demo page showcasing this? Or other Bubble users?

1 Like

Here’s Allen’s eply to this question from the closed beta thread, for those who have the same question @allenyang I can’t seem to get Algola results on this page. Is this no longer up to date?

Sure - this is on my personal app (so excuse the poor design!) but this page implements Algolia to power a repeating group and to power a searchbox: https://halfbakedoath.bubbleapps.io/algolia-demo

Hah - was hoping people would forget about my toy app :upside_down_face:

Yes, it had previously spun down because Algolia prunes accounts that aren’t active for a certain number of days I believe. I just created a new account and re-linked the search. (In case you needed even more selling points - it took me < 3 minutes to re-do everything and get it set back up!) If you try that page again, you should see the Algolia results on the right, and you’ll see the performance difference when comparing the left vs right halves of the page.

1 Like

Don’t undersell it, it’s where I always go for baking inspiration :smirk:

How many records is this app searching through?

Between 50-100 records total, with 3-6 fields per each of 2 data types. (That page specifically only searches through Bakes I think.)

Thanks for sharing @allenyang !

When do you plan to make the update available for dedicated instances?

Our dedicated instance upgrade points are automatically generated every day, unless something’s pausing them. I believe that means the feature should be available in the latest upgrade point - if not, please let me know!

Spoke too soon - dedicated upgrades are in fact paused for now. Should be lifted relatively soon, so please check back :slight_smile:

1 Like

@aless & @allenyang I’ve been working with this today, and so far it’s pretty awesome! I noticed one thing that needs changing (if I’m not mistaken)…

It looks like date fields are being passed to Algolia as texts. If we wanted to utilize the sorting configurations with date fields, dates need to be converted to UNIX . For now, I’m sorting in Bubble after the Algolia search, but it would be really great to have this baked in via the Algolia sorting configs.

I know this is still very much in beta, but so far, this is very cool :+1:

1 Like

FYI: I have submitted a bug report after I posted all this


Wait… did you guys already update this? I’m seeing my fields being recognized properly now… not just dates, but numbers and locations too…

Edit
Hm, maybe I spoke too soon. Getting a little confused as to what’s going on. This is what I originally saw:

image

Locations show city, state, country. Dates are formatted to a text string and the number field is being read as text. When I go to add a sort-by attribute in Algolia, none of the dates or numbers come up as options.

But, just a few minutes ago, all of those values were showing in different formats… dates were in UNIX, locations were showing full coordinates, and I could see my dates and number fields available in the sorting options.

Then, I triggered a re-index and it went back to all text :frowning: Any ideas?

Edit Again
Ok, I’m narrowing it down. I had added a new number field to sync with Algolia. That’s when I saw the correct formatting (below). The number field was for a workaround for the dates (to pass the UNIX timestamp myself), but once I saw the formats were good, I deleted the field. That’s when it went back to text formats. Then, I restored the number field, and here we are again with correct formatting. I hope this helps troubleshoot…

How is it that your search results display instantly even though bubble always has this time delay between entering a value (in a search field) and recognizing it as a value to trigger something (like a search)?
(In my case the results are displayed immediately only when I hit tab or return.)
Or are you using the Instant Text plugin?

I was not using any plugin in my demo page. The Algolia search results are not quite instantaneous, though they load faster than native Bubble results. There’s still the time needed for Bubble to recognize that there’s a new value to search for, as you describe. It’s just that the Algolia results are “faster enough” to be noticeable.

Is this available on Pro Legacy?

Where do I find this feature to turn it on?

1 Like

Looks like it’s under Settings/General Services API Keys just below the key for Google geocoding:

Is it possible to search TWO INDEXES together via Algolia with this integration?

i.e. 2 different data types?

And secondly, when a user creates a new Thing - what is the action to send the Thing to Algolia for indexing?

And lastly, when I log in to Algolia and look under this application, I don’t see any indexes there. Do they show up later or something?

2 Likes

Why can algolia search not search multiple fields (like the constraints in bubble’s “do a search for”)?
I tried “algolia search for” - “interstect with” - “algolia search for” but it doesn’t work for me. Any ideas on how to perform a more specific algolia search without relying on “filtered”? (E.g. search for all things with the category x and online = yes?)

Plus one for this question.

Also, I see that it’s only available for public data. My users can’t search through private data they store in my app. I would love to see the next release of this product include data with privacy rules.

1 Like

Hi,

I’m trying to set up the integration with Algolia. The indexing part was done through bubble and it worked out correctly.

When a user performs any search, they will always get the same results whatever they are typing. I have two questions:

  • How can I solve this problem ? Is it a configuration to be done in Algolia Dashboard ?
  • What is the “Query” field under “Type” ? What should I use this for ?

Thanks for your help ! Below all my settings

@allenyang

My app is in profesional (legacy) ver.6

I can’t find the setting in setting/general/general services api key

Is it because of the app plan, or it’s version?

Anwar