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
1) Place element on the page
Set Data Type, Data Source and at least one Field To Search.
2) Place input on the page and set it to Attribute ID
Select the checkbox to match from the input box and paste your input ID in the Input Box ID field
3) Place the Repeating Group and set the data source of the info it's being search for.
β
The Data source MUST NOT be a list.
Plugin element "Search Pro"
Search Pro Fields
Title
Description
Type
Data Type
The type of data that will be searched for.
App Type
Data Source
Data Type list by which the search will be carried out.
List
Field To Search 1
Where to find the data field.
Field of Data Type
Field To Search 2
Where to find the data field.
Field of Data Type
Field To Search 3
Where to find the data field.
Field of Data Type
Field To Search 4
Where to find the data field.
Field of Data Type
Field To Search 5
Where to find the data field.
Field of Data Type
Text To Match
The string by which the search will be carried out.
Text
OR Set Text to Match from an Input Box
Use input value as the search string.
yes/no
Input Box ID
Input ID.
Text
Threshold
At what point does the matching algorithm give up. A threshold of 0.0 requires a perfect match (of both letters and location), a threshold of 1.0 would match anything.
Number
Case Sensitive
Case Sensitive search.
yes/no
Find All Matches
When true, the matching function will continue to the end of a search pattern even if a perfect match has already been located in the string.
yes/no
Location
Determines approximately wherein the text is the pattern expected to be found.
Number
Distance
Determines how close the match must be to the fuzzy location (specified by location). An exact letter match which is distance characters away from the fuzzy location would score as a complete mismatch. A distance of 0 requires the match to be at the exact location specified, a distance of 1000 would require a perfect match to be within 800 characters of the location to be found using a threshold of 0.8.
Number
Exclude Terms Shorter Than
Exclude Terms Shorter Than - Number - Exclude all search words shorter than this value.
Number
Extended Search
This form of advanced searching allows you to fine-tune results. Extended Search
Set the search field whose values you want to get in the suggestions block.
Field of Data Type
Highlight color
The highlight color of the selected search suggestion
color
Background color
The color of the element with search suggestions
color
Search ProActions
Reset input
Resets the input value with the Input Box ID entered in the element and resets all states.
Add Field To Search
If all five fields of the search element are filled in, you can use this action to add another search field.
Fields:
Title
Description
Type
Sort type
The type of data that will be searched for.
App Type
Field To Search 1
Where to find the data field.
Field of Data Type
Search Pro States
States:
Title
Description
Type
Matches
List of matched things
List of Data Type
Match Scores
Match scores from 0 to 1. 0 is a perfect match
List of numbers
hintInput Box's Value
Value of input box from ID
text
Selected suggestion
The result of matches when using search suggestions
*Only with option "Search suggestions" enabled.
List of Data Type
Search Pro Events
Events:
Name
Description
Changing the Input Box value
Event that occurs when the value of the input field changes
Plugin element "Airtable Search Pro"
The element allows you to use fuzzy search with the Airtable database.
Install the Airtable plugin in your application and enter the Personal Access Token.
Select and initialize the required database.
Airtable Search Pro Fields
Title
Description
Type
Data Type
The type of data that will be searched for.
App Type
Data Source
Data Type list by which the search will be carried out.
List
Field To Search 1
Where to find the data field.
Text
Field To Search 2
Where to find the data field.
Text
Field To Search 3
Where to find the data field.
Text
Field To Search 4
Where to find the data field.
Text
Field To Search 5
Where to find the data field.
Text
Text To Match
The string by which the search will be carried out.
Text
OR Set Text to Match from an Input Box
Use input value as the search string.
yes/no
Input Box ID
Input ID.
Text
Threshold
At what point does the matching algorithm give up. A threshold of 0.0 requires a perfect match (of both letters and location), a threshold of 1.0 would match anything.
Number
Case Sensitive
Case Sensitive search.
yes/no
Find All Matches
When true, the matching function will continue to the end of a search pattern even if a perfect match has already been located in the string.
yes/no
Location
Determines approximately wherein the text is the pattern expected to be found.
Number
Distance
Determines how close the match must be to the fuzzy location (specified by location). An exact letter match which is distance characters away from the fuzzy location would score as a complete mismatch. A distance of 0 requires the match to be at the exact location specified, a distance of 1000 would require a perfect match to be within 800 characters of the location to be found using a threshold of 0.8.
Number
Exclude Terms Shorter Than
Exclude Terms Shorter Than - Number - Exclude all search words shorter than this value.
Number
Extended Search
This form of advanced searching allows you to fine-tune results. Extended Search
yes/no
Run a server-side search
Use an instant search on the server with the action "Search" by passing the state of the element "Input Box's Value" to it
Resets the input value with the Input Box ID entered in the element and resets all states.
Airtable Search Pro States
States:
Title
Description
Type
Matches
List of matched things
List of Data Type
Match Scores
Match scores from 0 to 1. 0 is a perfect match
List of numbers
hintInput Box's Value
Value of input box from ID
text
Airtable Search Pro Events
Events:
Name
Description
Changing the Input Box value
Event that occurs when the value of the input field changes
Plugin action "Server Side Search"
Server Side Search Fields
Title
Description
Type
Data Type
The type of data that will be searched for.
App Type
Data Source
Data Type list by which the search will be carried out.
List
Field To Search 1
Where to find the data field.
Text
Field To Search 2
Where to find the data field.
Text
Field To Search 3
Where to find the data field.
Text
Field To Search 4
Where to find the data field.
Text
Field To Search 5
Where to find the data field.
Text
Search Input
The string by which the search will be carried out.
Text
Threshold
At what point does the matching algorithm give up. A threshold of 0.0 requires a perfect match (of both letters and location), a threshold of 1.0 would match anything.
Number
Case Sensitive
Case Sensitive search.
yes/no
Find All Matches
When true, the matching function will continue to the end of a search pattern even if a perfect match has already been located in the string.
yes/no
Location
Determines approximately wherein the text is the pattern expected to be found.
Number
Distance
Determines how close the match must be to the fuzzy location (specified by location). An exact letter match which is distance characters away from the fuzzy location would score as a complete mismatch. A distance of 0 requires the match to be at the exact location specified, a distance of 1000 would require a perfect match to be within 800 characters of the location to be found using a threshold of 0.8.
Number
Exclude Terms Shorter Than
Exclude Terms Shorter Than - Number - Exclude all search words shorter than this value.
Number
Extended Search
This form of advanced searching allows you to fine-tune results. Extended Search