# \[New Plugin\] Quick Find Search & Facet Filtering

**URL:** <https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934>\
**Category:** Plugins\
**Created:** [November 5, 2021, 12:32pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934 "2021-11-05T12:32:07Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![fabrice.latour04](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/fabrice.latour04/32/111451_2.png) [@fabrice.latour04](https://forum.bubble.io/u/fabrice.latour04)\
**Post date:** [November 5, 2021, 12:32pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/1 "2021-11-05T12:32:07Z")

</div>

Hey all!

I just released this plugin to optimize client-side Data, Nested-Data and Option set searching. You can now build your own fast, real-time search engine and enable facet filtering. (See live example Popup we search a 58k length list almost instantly).

Enable Algolia search-like functionalities and capabilities in minutes!! This is a great alternative to the Algolia search engine without having to export and push your Data to Algolia’s servers.

🏃‍♀️ [Demo page](https://plugins-testings.bubbleapps.io/version-test/searching)  
🏃‍♀️ [Plugin page](https://bubble.io/plugin/quick-find-search--facet-filtering-1635529305406x115283834020036600)

![QuickFind Search Filter.min](https://us1.discourse-cdn.com/bubble/original/3X/7/6/76fd51c682965f9a9440ee365cad50c595217d35.gif)

⚡Add fast Sublime search to your application.

🔎This Plugin enables the searching of types date, geographic address, number, text and yes/no fields.

❤Nested searches are fast and easy to implement.

☑Searching in Data with Option sets is now a breeze.

🚀Real-time searching without exporting your Data to a third-party application.

🖊Highlight the parts of the matched fields.

🔥Want to add fast filtering options without defining multiple Conditional states? This Plugin is perfect for you.

👌Works great on Page, in Popups, Focus Groups, and Floating Groups.

Feel free to reach out to me for questions, report bugs, or request features!

---

<div class="post-metadata">

**Author:** ![zavitac](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/zavitac/32/88596_2.png) [@zavitac](https://forum.bubble.io/u/zavitac)\
**Post date:** [November 9, 2021, 12:30pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/2 "2021-11-09T12:30:41Z")

</div>

> [@fabrice.latour04](#):
>
> Enable Algolia search-like functionalities and capabilities in minutes!! This is a great alternative to the Algolia search engine without having to export and push your Data to Algolia’s servers.

Wow seems great! Do the searches respect the privacy settings? (I have a multi-tenant app, and fast search is something I’m looking for since day 1.)

---

<div class="post-metadata">

**Author:** ![fabrice.latour04](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/fabrice.latour04/32/111451_2.png) [@fabrice.latour04](https://forum.bubble.io/u/fabrice.latour04)\
**Post date:** [November 9, 2021, 1:41pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/3 "2021-11-09T13:41:19Z")

</div>

Hello @zavitac,

Yes!! 🎉 all the **privacy rules that you set up in the Privacy tab remain applied**. The limitation I found with Algolia is that it only supports public data fields (i.e., fields without privacy rules).

Also, this Plugin is optimized for loading client-side and it’s pretty powerful for searching data types with lots of entries.

Another Bubbler was looking for ways to search data types with lots of entries here is an example of the Plugin with a DataBase of 10k and 58k entries.

[http://forum.bubble.io/t/zq-fuzzy-search-autocomplete-crashes/130216/12](http://forum.bubble.io/t/zq-fuzzy-search-autocomplete-crashes/130216/12)

---

<div class="post-metadata">

**Author:** ![devin.fraze](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/devin.fraze/32/69644_2.png) [@devin.fraze](https://forum.bubble.io/u/devin.fraze)\
**Post date:** [November 9, 2021, 2:08pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/4 "2021-11-09T14:08:13Z")

</div>

Wow! This looks incredibly powerful! I don’t have a terrific use case for it at the moment, but I’ll be adding this to the list of ideal tools for future use!

---

<div class="post-metadata">

**Author:** ![fabrice.latour04](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/fabrice.latour04/32/111451_2.png) [@fabrice.latour04](https://forum.bubble.io/u/fabrice.latour04)\
**Post date:** [November 10, 2021, 9:48pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/5 "2021-11-10T21:48:20Z")

</div>

**Update 1.0.1**

Patch bug fix for undefined fields.

**Refresh your editor and Upgrade the Plugin to get updated code**

---

<div class="post-metadata">

**Author:** ![hwgz01](https://avatars.discourse-cdn.com/v4/letter/h/9dc877/32.png) [@hwgz01](https://forum.bubble.io/u/hwgz01)\
**Post date:** [November 20, 2021, 3:28pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/6 "2021-11-20T15:28:47Z")

</div>

@fabrice.latour04

This look great indeed~!

however does it work on languages like Chinese, Japanese and Korean?

---

<div class="post-metadata">

**Author:** ![boston85719](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/boston85719/32/77286_2.png) [@boston85719](https://forum.bubble.io/u/boston85719)\
**Post date:** [November 20, 2021, 3:38pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/7 "2021-11-20T15:38:27Z")

</div>

Looks awesome. If it were used as an app wide search on a reusable header in a multipage app, would each page the user navigates to require the initial load of the data, implying that every page redirect made will result in that long first load of the data?

---

<div class="post-metadata">

**Author:** ![fabrice.latour04](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/fabrice.latour04/32/111451_2.png) [@fabrice.latour04](https://forum.bubble.io/u/fabrice.latour04)\
**Post date:** [November 20, 2021, 6:01pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/8 "2021-11-20T18:01:33Z")

</div>

Hello @hwgz01,

Yes, this Plugin can search foreign languages!!🎉

Take a look at this example, it searches [in traditional and pinyin Mandarin](https://plugins-testings.bubbleapps.io/version-test/searching_mandarin) 🕵️‍♀️  
 ![QuickFind_Foreign](https://us1.discourse-cdn.com/bubble/original/3X/f/f/ffe6b371661aaac2e2ca3df43f01e2da1c39600a.gif)

Don’t hesitate if you have other questions.

---

<div class="post-metadata">

**Author:** ![fabrice.latour04](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/fabrice.latour04/32/111451_2.png) [@fabrice.latour04](https://forum.bubble.io/u/fabrice.latour04)\
**Post date:** [November 20, 2021, 6:37pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/9 "2021-11-20T18:37:10Z")

</div>

This Plugin is not a Local or Session Storage Plugin it is a Search engine. It ​uses data provided on page load (i.e., global variables), therefore on page reload data will be reloaded. However, if the Plugin is used in a Reusable element (e.g., reusable header) for a single page application, the data will only be loaded once and on subsequent data source changes.

Unfortunately, it is not possible to store objects in Local or Session Storage so it’s hard to reference Bubble objects. They also shouldn’t be relied on for sensitive or security-related data.

Let me know if you have any other questions 🙂

---

<div class="post-metadata">

**Author:** ![hwgz01](https://avatars.discourse-cdn.com/v4/letter/h/9dc877/32.png) [@hwgz01](https://forum.bubble.io/u/hwgz01)\
**Post date:** [November 21, 2021, 5:51am UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/10 "2021-11-21T05:51:31Z")

</div>

Nice !  
Thanks alot for the quick reply @fabrice.latour04

---

<div class="post-metadata">

**Author:** ![fabrice.latour04](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/fabrice.latour04/32/111451_2.png) [@fabrice.latour04](https://forum.bubble.io/u/fabrice.latour04)\
**Post date:** [December 8, 2021, 1:30pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/11 "2021-12-08T13:30:48Z")

</div>

**Update 1.1.0**

🎉 Improved searching when Data source is from an API call! [Test it in action here](https://plugins-testings.bubbleapps.io/version-test/searching_api).

 ![API](https://us1.discourse-cdn.com/bubble/original/3X/e/0/e068b8476867e52420e5d9445347d3ef9d5aa936.png) ![API_call](https://us1.discourse-cdn.com/bubble/original/3X/8/d/8d04c86bd34266b93985b9a8fac0848ebbf1984f.gif)

**Refresh your editor and Upgrade the Plugin to get updated code**

---

<div class="post-metadata">

**Author:** ![zavitac](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/zavitac/32/88596_2.png) [@zavitac](https://forum.bubble.io/u/zavitac)\
**Post date:** [December 13, 2021, 6:22pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/12 "2021-12-13T18:22:14Z")

</div>

> [@fabrice.latour04](#):
>
> searching when Data source is from

Hey @fabrice.latour04,

I’ve been using your plugin for a month or so but haven’t time to go into its full capabilities.

I’m getting this error:

“The plugin Quick Find Search & Facet Filtering / element Quick Find threw the following error: TypeError: Cannot read properties of undefined (reading ‘listProperties’)  
at u (PLUGIN\_1635529305406x115283834020036600/Quick-Find-Search—Facet-Filtering-update–Quick-Find-.js:6:3078)  
at eval (PLUGIN\_1635529305406x115283834020036600/Quick-Find-Search—Facet-Filtering-update–Quick-Find-.js:6:6111) (please report this to the plugin author)”

Any clue on what’s the issue?

 ![Screenshot 2021-12-13 at 18.20.29](https://us1.discourse-cdn.com/bubble/original/3X/2/2/223247ec3f85111f95b71b2dfe3ac2e1993f744b.png)  
 ![Screenshot 2021-12-13 at 18.20.49](https://us1.discourse-cdn.com/bubble/original/3X/3/0/30e44ee6a86e24f0ce4a6168e8b9eb98a8cb0d80.png)  
 ![Screenshot 2021-12-13 at 18.21.21](https://us1.discourse-cdn.com/bubble/original/3X/8/e/8ec567d277e7658b8ec3cecd7b29a23e68fe6f92.png)

Also, I found out that the highlight isn’t working with this color #FFFF00 🤷‍♂️

---

<div class="post-metadata">

**Author:** ![fabrice.latour04](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/fabrice.latour04/32/111451_2.png) [@fabrice.latour04](https://forum.bubble.io/u/fabrice.latour04)\
**Post date:** [December 13, 2021, 6:51pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/13 "2021-12-13T18:51:37Z")

</div>

Hello @zavitac,

Sorry to see you are having this issue, but I am looking into it at the moment. Is this a recent issue, since **Update 1.1.0** , or are you on another Version? Also to help me debug this problem would it be possible for you to send me by DM a link to a page with the Search element and the same parameters?

**Edit:** Thank you for pointing out the color issue, it is fixed and will be released on the newest Update.

Thank you

---

<div class="post-metadata">

**Author:** ![ed727](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/ed727/32/71942_2.png) [@ed727](https://forum.bubble.io/u/ed727)\
**Post date:** [December 14, 2021, 12:44am UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/14 "2021-12-14T00:44:05Z")

</div>

Hi, interesting plugin. I have a question: my understanding is that any search functionality plugins can only filter data client side if the data is stored in Bubble. If this is correct, does your plugin offer any efficiency/scalability gains vs. Bubble’s advanced filters (which are also client side), and if so, how?

---

<div class="post-metadata">

**Author:** ![zavitac](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/zavitac/32/88596_2.png) [@zavitac](https://forum.bubble.io/u/zavitac)\
**Post date:** [December 14, 2021, 9:41am UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/15 "2021-12-14T09:41:55Z")

</div>

Hey @fabrice.latour04,

I’m not sure if it is related to the latest update. I set it up once and then didn’t look back at it again until yesterday.

Sure, I’ll Dm you a link to a page with an identical set up by the end of the day. 🙂

---

<div class="post-metadata">

**Author:** ![fabrice.latour04](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/fabrice.latour04/32/111451_2.png) [@fabrice.latour04](https://forum.bubble.io/u/fabrice.latour04)\
**Post date:** [December 14, 2021, 8:18pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/16 "2021-12-14T20:18:52Z")

</div>

Hello @ed727,

Excellent question! I will try to answer your question to the best of my knowledge on how the Bubble **:filtered** operation works and only focus on the Text type operators. I will also explain how this Plugin addresses serval limitations from the **:filtered** operation. Here is a demo page demonstrating the [Limitations and Speed differences](https://plugins-testings.bubbleapps.io/version-test/searching_vs_filter)

Indeed, to search a string in Bubble you can always use the **A- … contains** or the **B- … contains keyword(s)**.

**A- … contains:**

- Useful for returning exact matches for partial words (e.g., `'A'`, `'pl'`, `'Appl'`, etc will return `'Apple'`)

❌Limitation of A- … contains (Quick Find Plugin doesn’t have this limitation):

1. Case sensitive (`'Apple'` won’t return `'apple'`);

**B- … contains keyword(s):**

- Useful for returning non case sensitive words and/or partial phrases;

❌Limitations of B- … contains keyword(s) (Quick Find Plugin doesn’t have these limitations):

1. Can’t be used on Data source of type Text (Text type Data sources can’t have … contains keyword(s) operators, but only Constraint: … contains);  
 ![Limitation4](https://us1.discourse-cdn.com/bubble/original/3X/5/9/5989957dc0e6684cf7903368ec5ce251c90fb303.png)

2. Can’t be used in Advanced: filter (Advanced: filters can’t have … contains keyword(s) operators, but only Constraint: … contains);

3. Can’t use as a disjunction (i.e., `"OR"`) on Data sources with multiple fields (Because this operator isn’t available in an Advanced filter you can’t use `"OR"` to indicate field\_1 `"OR"` field\_2 contains the value of an input);  
 ![Limitation](https://us1.discourse-cdn.com/bubble/original/3X/3/f/3fe25e9e17c85c331cf614a5a9db640662930021.png) ![Limitation2](https://us1.discourse-cdn.com/bubble/original/3X/0/0/008f185da319e6366ee1d10d03490c634765d83d.png)

4. Can’t use with partial words (`'pple'` won’t return `'apple'`);

❌**Joint limitations of A & B (Quick Find Plugin doesn’t have these limitations):**

1. No misspelling accepted (`'aple'` won’t return `'apple'`);

2. No scoring to prioritize the order of the matched search list (Searched results will appear from the Data source order, not from the relevance of the search, so searching `'ship'` could return `['Tommy hates spaceships', 'Lucy should worship you', 'Ships are great']` instead of `['Ships are great', 'Lucy should worship you', 'Tommy hates spaceships']`);  

3. No two way searching (`'mertens finn'` won’t return `'Finn Mertens'`) (Note: here there is a little fluke as the **… contains keywords(s)** operator will return `'Finn Mertens'` with `'mertens finn'`, but not with `'mertens '`, `'mertens f'`, `'mertens fin'`, etc. So as the user is typing, the result will disappear as soon as a space is added `'mertens '` and won’t be returned until `'mertens'` or `'mertens finn'` is type;

4. No highlighting of matched value(s);

**In terms of performance/speed:**  
Here is an example of searching `'ship'` on a list of 48k phrases with the Quick Find Plugin compared to a **:filtered … contains**. As you can see there is a noticeable latency before the **:filtered** search results are found (Approx. 5 secs).  
 ![Speed_Search](https://us1.discourse-cdn.com/bubble/original/3X/b/5/b5fa21866e83c194377fdc86a3cde4844c2ee718.gif)

From my understanding of the Bubble code, this is what makes the Quick Find Plugin more efficient in searching client-side:

1. Searched objects are very light;
2. When Bubble executes the **:filtered** function it reconstructs “their search” function with the defined operators even if they don’t change which must have an impact on the time to execute the code operations, whereas the Quick Find Plugin preps the Data and the search parameters.
3. When using advanced filters you might need multiple conditionals to achieve a disjunction search on multiple fields, whereas the Quick Find Plugin searches all the fields as a custom array. The way I understand how the **:filtered** objects are constructed is that each `"OR"` is a nested operator object, so when searching on lists with a lot of conditionals you will have something like this `{operator_object1{operator_object2{operator_object N}}}`. Since looping through arrays is faster, in most instances, than looping through object keys, if you plan on having multiple fields and large lists it will definitely add up and impact performance.

**The major gains of using this Plugin are:**

1. To show search results with little to no Search latency;
2. To search multiple fields without using multiple conditionals and/or additional text operators (e.g., :lowercase, :extract with Regex, :find/replace, etc.);
3. To get results when the correct spelling is not known or mistyped by the user (e.g., ‘aple’ will return ‘Apple’ and ‘fin merten’ will return ‘Finn Mertens’;
4. To highlight the matched parts of a search;

Hope this answered your question 😅 and feel free to reach out if you have other questions,

Fabrice

---

<div class="post-metadata">

**Author:** ![fabrice.latour04](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/fabrice.latour04/32/111451_2.png) [@fabrice.latour04](https://forum.bubble.io/u/fabrice.latour04)\
**Post date:** [December 21, 2021, 3:31pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/17 "2021-12-21T15:31:25Z")

</div>

**Update 1.1.2**

Patch fix for better handling Highlight color selection and improve the performance when the Data source has values as undefined.

**Refresh your editor and Upgrade the Plugin to get updated code**

---

<div class="post-metadata">

**Author:** ![fabrice.latour04](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/fabrice.latour04/32/111451_2.png) [@fabrice.latour04](https://forum.bubble.io/u/fabrice.latour04)\
**Post date:** [December 30, 2021, 1:32pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/18 "2021-12-30T13:32:59Z")

</div>

[http://forum.bubble.io/t/zq-fuzzy-search-autocomplete-crashes/130216/14](http://forum.bubble.io/t/zq-fuzzy-search-autocomplete-crashes/130216/14)

Hello @agoo7714,

I’m responding here for others using this Plugin to see.

Thank you for taking the time to review the Plugin and giving your insights. The shown scenario is expected behavior as `hbar` in `Hedera (hbar)` is further in the searched field than the other results `HbarPad` and `(hbarp)`, so in this scenario `Hedera (hbar)` would probably be the 3rd, 4th or a later result returned.

However, I understand this isn’t the desired behavior for these scenarios and I will prioritize the exact matching feature integration which was in my scope. I have a few questions though:

1. Does the search of the symbols have to be **case-sensitive?** (e.g., `DOT` wouldn’t return `Polkadot` only fields with `DOT`);
2. For exact matching do you want to **Allow typo?** (e.g., `BTJ` wouldn’t return `BTC` only fields with `BTJ`);

Cheers and happy holidays,  
Fabrice

---

<div class="post-metadata">

**Author:** ![agoo7714](https://sea1.discourse-cdn.com/bubble/user_avatar/forum.bubble.io/agoo7714/32/129385_2.png) [@agoo7714](https://forum.bubble.io/u/agoo7714)\
**Post date:** [December 30, 2021, 10:54pm UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/19 "2021-12-30T22:54:38Z")

</div>

Thanks for the response @fabrice.latour04 ,

The symbol search does not have to be case sensitive, e.g. DOT and dot would both return Polkadot. And yes I have the allow typo feature selected on the current app. I guess essentially I am looking to simultaneously search both the symbol and the coin name and pull the closest matches.

Happy New Year 🥳

---

<div class="post-metadata">

**Author:** ![ryanck](https://avatars.discourse-cdn.com/v4/letter/r/13edae/32.png) [@ryanck](https://forum.bubble.io/u/ryanck)\
**Post date:** [December 31, 2021, 8:53am UTC](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934/20 "2021-12-31T08:53:11Z")

</div>

Hey @fabrice.latour04 ,

Looks good man! But what´s the difference between this plugin and the Fuzzy search and autocomplete?

Thanks a lot.

[Next page](https://forum.bubble.io/t/new-plugin-quick-find-search-facet-filtering/176934.md?page=2)
