πŸ” Omnisearch: Integrate Algolia, Typesense, and friends

Announcing our formal marketplace launch! Previously in beta under the name Scious Search, Omnisearch is the most powerful and flexible way to integrate Algolia, Typesense and other (in the future) search providers. As a deep integration, it:

  • Preserves privacy settings across all data types.
  • Does not degrade or slow down as your database grows to millions of records.
  • Saves a ton of WUs compared to Bubble’s native search and ZQ Fuzzy Search.
  • Works with live, test, and other versions of your app.
  • Avoid vendor lock-in. Easily switch search providers or use multiple at the same time!

Costs

Our Algolia integration is considerably cheaper than Bubble’s while offering more capabilities like privacy rule preservation, filtering, and syncing fields other than text. See full comparison below.

When it comes to choosing between Algolia and Typesense, both providers have their sweet spot. Since there are scenarios where Algolia is cheaper to use than Typesense and others where Typesense is much cheaper than Algolia, we built this cost calculator to help you decide what’s right for you.

Get started

You can test drive our features here, checkout our ecommerce templates (typesense, algolia), and peruse the manual. Unlike your usual Bubble plugin, ours comes with:

  • A 10 day free trial.
  • App transferability. While our plugin can only be used by one Bubble app at a time, unlike regular plugins, a subscription to ours can be switched to other apps. So if you scrap an MVP and start another, you can reinstall our plugin at no added cost.
  • Hands on support. Our annual subscription includes a half hour one-on-one support session for answering any integration questions.

If that sounds great, then grab an API key and get started!

5 Likes

Omnisearch Feature Comparison

Feature Omnisearch - Algolia Omnisearch - Typesense Native Algolia Integration Algolia Search v2.0 Typesense Plugin
Supports non-public data fields. ● ● ● ●
Supports text fields ● ● ● ● ●
Supports number fields ● ● ● ● ●
Supports date fields ● ● ● ●
Supports range fields
Supports User data type ● ● ● ●
Supports custom data type fields ● ● ● ●
Supports one geographic address field per record ● ● ● ●
Supports more than one geographic address field per record ● ●
Automatic index creation ●
Easily create indices for all app environments ● ● ●
Change sort order of search results ● ● ● ●
Includes recommendation engine
Easily switch search engine providers ● ●
Search filters can span multiple data types / indices
Can pass advanced options to search engine provider ● ● ●
Works with any Bubble plan ● ● ● ●
Can transfer plugin license across apps ● ●
Plugin free trial ● ●
Requires creating records in the Bubble database ● ● ●
Preserves privacy rules ● ●
Update search engine index settings from the Bubble app ● ● ● ●
Create, update and delete items in search index ● ● ● ● ●
Return recent user searches ●
Facet values ● ● ● ●
Easily facet values ● ● ●
Filter results ● ● ● ●
Easily filter results ● ●
Search as you type (without bubble’s input change delay) ● ● ●
Return native Bubble thing in editor, making filtering easier ● ●
Debounce keystrokes (to help reduce search volume) ● ● ●
Sort search results by text field ● ● ● ●
Error proof pagination handling ● ●
Cache session search results (to help reduce search volume)
Geo filter by circle ● ● ●
Geo filter by polygon ● ●
2 Likes

β€œOmnisearch” I like that :+1:

2 Likes

Thank you! Yea, it’s a bit more descriptive than the last name :slight_smile:

2 Likes

Hey @mack2580, Omnisearch is finally available on the marketplace! We have an implementation of your faceting needs here (for pcpartspicker!) Lemme know what you think or if we can improve that template or the plugin for your purposes :slight_smile:

2 Likes

Very cool :wink: Could you add also in cost calculator Bubble native search WU Cost?

1 Like

Great idea! It’s something I’ve wanted to do and am finally able to get around to. It will require some profiling of apps that have been using this plugin so it’s something I can likely add in a week or so.

1 Like

Fantastic :clap:t2::clap:t2::clap:t2:

1 Like

Pleased to report that our latest update 2.0.2 works with self hosted Typesense instances! To use, simply enter your typesense instance URL under Typesense Host in the plugin config page and enter your API key as usual. Cheers!

2 Likes

Howdy :slight_smile:
In pursuit of creating the best documented plugins, I’m working on translating my docs into multiple languages. I’m considering the following ones but do let me know if there’s others you think Bubbler’s would benefit from!

  • Brazilian Portuguese
  • French
  • Spanish
  • German
2 Likes

after having used the beta for a year now, I can confidently say that this is hands down the best plugin on bubble.

2 Likes

Drixxon, thank you for such a nice compliment! As echoed in my goal for having the best documented plugins, I’ve worked hard to make Omnisearch as easy and powerful to use as possible… so it’s very nice to hear that that effort is having an impact :grinning: Thank you again!

Version 2.0.4 of Omnisearch is now available. Release notes:

  • Bump internal Typesense Javascript SDK version to 1.8.0. This update gives plugin users a backward compatible way to use Typesense Clusters up to (and including) version 0.26.0.
  • Bump internal Algolia Javascript SDK version to 4.23.3.

Cheers!

1 Like

Thanks for sharing @zelus_pudding.
I am trying to use your plugin and encounter the following error and it doesn’t display search results in the RG. Can you please help?

Please noted that β€˜Undefined A’ is the Omnisearch visual element

Hey Huijunchristinezhong, sorry to hear about that frustrating behavior. I see that you’re currently trying to search an Algolia index. I’m looking into the reason why it may not be working. In the meantime, can you confirm for me that the sync action did work for you and did populate an Algolia index for you? Thank you,

Hi @zelus_pudding, do you intend to handle JOINs? JOINs | Typesense
Schema should automatically get created with β€œreference” field

1 Like

Hey Mikolaj,
This is definitely something we want to support and have been researching on how to best implement. I hope to have more details on that by next week.

1 Like

Hey Huijunchristinezhong, wanted to provide an update. Fixing the issue is taking longer than hoped. In what is a somewhat perfect storm of circumstances, the tool I created to develop Omnisearch has recently been broken due to a change Bubble made in their infrastructure and I’m unable to quickly improve Omnisearch as a result.

That’s a rough set of circumstances for you, I know, so in the meantime I’ve extended your free trial by a week. Hoping to get this resolved sooner than that. Thank you and my apologies for the inconvenience again.

1 Like

Thanks @zelus_pudding Please keep me updated :pray:

@zelus_pudding Yes - the sync action did work and it populate an Algolia index