CMS search feature malfunctioning

Hello!

I’m looking for some help on a business directory which contains just over 600 businesses. The business are in a collection list and I’m using a search form find the desired business. Due to Webflow only being able to search the first 100 items in the collection list, I had to integrate Jetboost’s infinite-loader feature to get all 600+ items searchable. This has left me with three issues.

  1. It is not prioritizing the first letters of the business name. For example: If you type in “Art” it is showing businesses that contain the letters “art” like “eARTh”, “pARTners”, etc… before it is showing businesses whose name begins with “Art”.

  2. Some businesses are not showing at all.

  3. This is expected with the size of the list, but it is extremely slow. Is there a way to help the speed of this feature?


I don’t have experience with Jetboost’s solution, I typically use Finsweet Load + Finsweet Filter to create these filter views, up to a maximum of about 3,000 items ( 1,500 for mobile-centric sites ). Greater than that, the pre-load tradeoffs are too substantial and you want to look at a more dynamic query solution like Jetboost. Slower per filter call, but much faster initial response time.

#2 shouldn’t happen, sounds like a data or filter setup issue. Are your filters case-insensitive?

#1 is problematic. Most filter solution I’ve seen do not re-order your list, they filter only. You are wanting a filter and a sort combined to deliver results the way a search results page might score them. Check Jetboost’s docs for options but I think you’d have to build that- i.e. actually scoring the items on a filter change and then actually initating a sort. Finsweet’s tooling has a JS API you should be able to access that data with, I’d think JB would have something similar.

The filters are not case-sensitive.

I will check out Jetboost for this JS API. Would Finsweet fix all these problems? May be worth switching to that, I’ll look more into it.

There are tradeoffs, but in general I’ve found FS filter preferable for most of my implementations. The product is free, but the docs are limited and support is paid. A lot of my clients use it so I invest in developing an expertise there.

The nice thing is that in general, it can be extended to fit some rather complex use cases if you have the time and technical knowledge, or make good use of FS support.

@memetican Thanks for your help so far!

I have switched to Finsweet’s CMS Load and Filter attributes. It is already much improved but I have two bugs I can’t figure out.

  1. I am using the Pagination option from Finsweet’s CMS Load attribute. This is very quick but not showing all results initially. ex: if you type in something short like “art” it only shows results from the first 150ish collection items. It is showing accurate results if you type in more letters.
    The Render-All option is working properly but is painfully slow.
    Any idea how to solve this so it fetches from the entire list and shows all results even with a short input?

  2. I’m not sure how to fix the sorting so the more accurate results show up top. Were you saying this can only be done custom through a JS API?

https://preview.webflow.com/preview/experienceprinceton-fa63d912c5cd4488c2c?utm_medium=preview_link&utm_source=designer&utm_content=experienceprinceton-fa63d912c5cd4488c2c&preview=a20addb3d36e3314dcb2862f7723462d&pageId=65e6624993fb61a059b52109&locale=en&workflow=preview

1
I don’t have that issue, I’d have to spend some time in your configuration.
Generally with my client project that have ~3k datasets I’ll see the filter take effect immediately and then as FS load is retrieving content, new items will appear.
You might add the FS load feature that shows the number of items loaded so that you can see this process happening.

It’s also possible that if you’re changing your data often, that your browser cache might be out of date and have old data.

2
Yes this is something you’d need to custom-build and it would take some work. I haven’t even considered how I’d approach the scoring process, but essentially as items are filtered, they need to be scored somehow, and then sorted into the results.