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