Fuzzy Search Pro

Demo to preview the settings

Introduction

This plugin is an advanced version of our Fuzzy Search & Autocomplete plugin. The plugin allows searching for not-perfect matches accounting for typos and close matches.
❗
Please be aware that the plugin works correctly only with the Input element and is not suitable for the search box element. This plugin works only with the "text" data type. The "list of texts" and nested folders (a data type is another database table) are not supported.
The main advantages of this plugin are:
  • The ability to search the Bubble database using the "Search Pro" element and the Airtable database using the "Airtable Search Pro" element.
  • Sorting search results by one of the database fields.
  • Using advanced search.
This form of advanced searching allows you to fine-tune results.
White space acts as anΒ ANDΒ operator, while a single pipe (|) character acts as anΒ ORΒ operator. To escape white space, use double quote ex.Β ="scheme language"Β for exact match.
Token
Match type
Description
jscript
fuzzy-match
Items that fuzzy matchΒ jscript
=scheme
exact-match
Items that areΒ scheme
'python
include-match
Items that includeΒ python
!ruby
inverse-exact-match
Items that do not includeΒ ruby
^java
prefix-exact-match
Items that start withΒ java
!^earlang
inverse-prefix-exact-match
Items that do not start withΒ earlang
.js$
suffix-exact-match
Items that end withΒ .js
!.go$
inverse-suffix-exact-match
Items that do not end withΒ .go
White space acts as anΒ ANDΒ operator, while a single pipe (|) character acts as anΒ ORΒ operator.
  • Removed the limit on the number of database fields to search. Using the action of the element "Add Field To Search", add new fields for searching when the five fields of the element are filled in.
  • The ability to use fuzzy search on the server side and configure backend workflows using the action plugin "Server Side Search".
The existing functionality of the plugin has been optimized:
  • Setting the threshold for matching search results.
  • Options "location" and "distance”.
Distance, Threshold, and Location
The calculation for something to be considered a match (whether fuzzy or exact) takes into account how far the pattern is from the expected location, within a threshold.
To illustrate, consider the following options:
  • locationΒ defaults toΒ 0
  • distanceΒ defaults toΒ 100
  • thresholdΒ defaults toΒ 0.6
With the above options, for something to be considered a match, it would have to be within (threshold)Β 0.6Β x (distance)Β 100Β =Β 60Β characters away from the expected locationΒ 0.
For example, consider the stringΒ "Fuse.js is a powerful, lightweight fuzzy-search library, with zero dependencies". Searching for the patternΒ "zero"Β would not match anything, even though it occurs in the string. The reason is that with the above defaults, for it to be considered a match it would have to be withinΒ 60Β characters away from the expected locationΒ 0. However,Β "zero"Β appears at indexΒ 62.
Supported languages:
  • English (Latin Extended Additional)
  • Russian (Cyrillic)
  • Japanese
  • Chinese
  • Armenian
  • Arabic
  • Georgian
  • Greek
  • Hebrew

How to setup

Plugin element "Search Pro"

Plugin element "Airtable Search Pro"

Plugin action "Server Side Search"

Changelogs

Update 27.09.24 - Version 1.16.0

  • Updated sorting functionality

Update 19.07.24 - Version 1.15.0

  • Minor update

Update 06.06.24 - Version 1.12.0

  • Minor update

Update 30.04.24 - Version 1.11.0

  • added action 'Refresh Matches'

Update 19.01.24 - Version 1.8.0

  • Added 'Background color' field

Update 17.01.24 - Version 1.7.0

  • Added functionality for search suggestions

Update 08.09.23 - Version 1.2.0

  • minor update

Update 05.09.23 - Version 1.0.0

  • Initial Release