Forum Academy Marketplace Showcase Pricing Features

ZQ Fuzzy Search & Autocomplete crashes

Hi,
The ZQ Fuzzy Search & Autocomplete plugin crashes when the data source is set to a table with around 15k records. And it crashes no instantly, but after 40-50 seconds, always.

I arrived at that point, because a page with a RG was freezing after seconds, I didn’t know why so guessing it might be something related to this table with a lot of records, started deleting different elements related to the RG and the searches, so deleting the Search & Autocomplete object from the page remove the freezing problem, going deeper changing the details on the Search & Autocomplete object, if I change the data source pointing to another table, no freezing neither.
I tested the same in a different page, creating a new Search &Autocomplete object and pointing to the same table, freezing again, always after 40-50 seconds.

So… I guess that there is some problem when this plugin is set to a data source with lot of records.
I’m surprised and it is hard to believe, because I would guess many people has a lot bigger tables working with this plugin.

Anybody knows something about this freezing problem with this plugin?

Thanks!

3 Likes

Hi,

We have similar freezing behaviour when searching table with 10k records. Fuzzy Search feels a very powerful tool with the smaller amount of records but can not be used with larger tables.

1 Like

Hello, @kasperi
Thanks for reporting this issue.

However, please allow me to note that the main probable reason why you are facing the search speed decreasing is the number of items you are searching for. Your number of records is quite a volumetric action.

It may be a lack of server capacity of your app also, or a slow device, on which you are running your app with the plugin.

Please allow us to discuss internally the possible ways to improve the speed of the plugin with a huge range of data and to revert with an answer.

Thanks for the understanding.
Best regards,
Zeroqode Support Team.

Hi.
For what I can say, if it can be of any help, before I uninstalled the plugin back in January after I posted this, we experienced this freezing behavior in 2 different devices, one of them with performance enough to handle much more demanding operations, so I don’t think the device is the problem. As I explained in the first post, we did test it with hundred of items and it worked, with few thousands it frozen, so we deducted is something related with the volume of records.
Unfortunately for us, we couldn’t go ahead with the plugin as handling thousands of records is a common scenario for us.

Thanks for your help and support,

Hello, @atlasproject and @kasperi

Please allow us to add a few details regarding the freezing of the information during the search through your DataBase.
The ZQ Fuzzy Search & Autocomplete plugin works with a big volume of information, however, its action is limited to the capacity of the Bubble itself, unfortunately.

As a workaround for this, please allow us to propose you create your Custom State, which should retrieve information from the database, and you can search using this Custom State.

Another possibility to work with this plugin is to create a database sorting and search through the sorted information.

Hope it will help you.
Best regards,
Zeroqode Support Team

Hi @ZeroqodeSupport, thanks for the information.
Although, with this same big volume of records, it does not freeze the table using the standard search/filters, it just does when using a search element of this plugin.
Anyway, I will try to check that workaround with custom states that you suggested in any future chance I get.

Thanks, regards,

Hello, @atlasproject
Thanks for getting back.

We will be looking to receive any update from your side.
Please be free to contact us in case new questions or suggestions will appear.

Best regards,
Zeroqode Support Team.

Hi @atlasproject,

Just to add some context to this thread, the reason is that the Fuzzy search plugin runs client-side. In your case, this mens that you’re telling Bubble to download the entire list of records to the browser, and then apply the filtering on the device. Both the list download and the filtering are demanding processes that will make your device kneel.

Regular constraints are faster is because they are applied on the server.

There’s nothing to be done about this unfortunately, but if you’re working with public records, you may want to look into using Algolia.

2 Likes

Hello, @petter
Thank you for the comment on this matter.

Indeed, the ZQ Fuzzy Search & Autocomplete plugin is a client-side tool, and the process of downloading data goes something like this.
However, working with a huge range of Data is possible without the mentioned consequences for the device.

As for the Algolia, the main point is that this tool allows you only to do a search through the Algolia Database, but the result could be redirected in the Bubble, using different plugins or calls. This way is more difficult and, in general, quite different from a method of work with Fuzzy search.

Best regards,
Zeroqode Support Team

Thanks Petter to point this out, this explains everything. So as ZQ search is getting the full set of records and then filtering client-side, it takes a long time and therefore is inefficient, the same that happens when you use the “:filter” action of Bubble after a search instead of constraining in the own search (server-side).

So, I cannot test it now (not using this plugin currently because of this issue), but I imaging that a solution is constraining first with the database search (server-side), and if it is needed, passing it through the ZQ plugin to make further filtering, as the same we may do with the “:filter”.

As an example, for 50.000 client’s items records, constrain on a search for getting just the specific client’s items (let’s say 250), and then using the plugin to search by name/text through those 250 records.
The sad part is that in many scenarios this is not possible, as for example, to search by name/text on a 50.000 product records, there may not be any initial constrain, and you may just want to search to the entirely database.

In any case, is good to know why this happens. Thanks Petter and ZQ team for the comments.

Hello, @atlasproject
Thanks for the feedback.

Please allow me to mention, that the capacity of the Bubble platform has its limits. Unfortunately, but additional plugins or filtering with the Bubble element can’t easily handle such a huge amount of data.

However, the workaround, which was proposed earlier, is workable. You create your Custom State, which should retrieve information from the database, and you can search using this Custom State.

We will be waiting for the feedback from you after you will try it in your application.
Our team will be happy to assist you.

Best regards,
Zeroqode Support Team

Hi @atlasproject,

Take a look at my new Plugin Quick Find Search (here is the Plugin page). It’s pretty powerful for client-side searching on data types with lots of entries.

Here is an example when searching a data type with 10k entries without any search constraints.:exploding_head:

How the search performs. It takes about 13sec for the initial data loading to complete (i.e., fetch data from Bubble servers):

The DB of the data type being searched:

The Data source used by the Quick Find Search Element without constraints:

Bonus here the search is performed on a data type with 58k entries:


But as @petter mentioned when doing this on data types lots of entries you should add some search constraints to help speed the initial data loading, as this will impact the user experience.

Hope this helps and feel free to reach out to me if you have any questions :slight_smile:

2 Likes

Hey Fabrice,

Awesome plugin. This solved my problem after trying a bunch of the other search plugins which crashed my website.

Hi Fabrice, Your plugin has been working awesome for me. I have just left a review.

I have a question about the following scenario. Is there any way to sort my search so that exact matches to either the symbol or name field show up as the top option in the RG? I have attached images for clarity. The primary search is the name, but as you can see when I input the exact symbol, other coins with those letters included in there symbol appear above the coin with the exact ‘hbar’ symbol.




Would be great if a feature to prioritise exact matches is possible. Awesome plugin though :+1:

Also please ignore the text on the side above search the symbol not the name

Hi @ZeroqodeSupport could you care to elaborate about this custom state workaround? i do not quite understand it.

Hello, @jdiazarmas
Thanks for your question.

Allow us to note that the purpose of this solution is to speed up the loading of the application and increase the speed of the plugin. Here are 2 solutions:

  1. You need to create a simple Custom State, where you will mention all entries from a required table in your DataBase.
    After it, you will indicate in your Data Source not the table from the DB, but this specific state.

  2. Another solution for increasing the speed of searching is placing the simple text element of the page (it could be invisible or hidden):


    Thereby, the data will be loaded on the Page Load, which will speed up the process.

Hope it will help you.
Best regards,
Zeroqode Support Team

Hi @ZeroqodeSupport thanks for the fast response

I tested both suggestions but i believe it fixes only the loading part of the equation

but when searching the search itself is quite slow, so there is an issue with data processing. My RG has 1540 instances. Do you have any suggestion in that case?

Hello, @jdiazarmas

We need to note that the searching speed depends on the quantity of the entries in your DB, your page and application layout and etc.
Thus, it is possible that the search process takes a little longer.

Please note that if the searching process takes from 1 to 3 seconds, it is not the issue, but the way the plugin performs.

Best regards,
Zeroqode Support Team

Hi, this plug-in seems great.

Can I run accent insensitive searches with it?

Example, if I type “Juán Ortíz” will it show “Juan Ortiz” as a result of the search?