Search & Autocorrect

Demo to preview the plugin:

Introduction

The Search & Autocorrect plugin allows enhances your Bubble.io applications by enabling advanced search functionality that handles typos, within-word searches, and other common errors. Whether you're building a fast, live search dropdown or improving an existing search box, this plugin allows you to search through multiple fields efficiently. It’s perfect for applications where users need to find information quickly, even if their search queries aren’t perfectly accurate.
Key Features:

Prerequisites

Before using the Fuzzy Search Plugin, ensure the following:
  1. Bubble.io Account: You need an active Bubble.io account to use this plugin.
  1. Repeating Group: Set up a Repeating Group to display the search results.
  1. Input Element: Add an Input Element (e.g., a search box) to capture user queries.
  1. Data Source: Ensure the data source for the Repeating Group is properly configured with the information you want to search through.
Image without caption

How to setup

Step 1: Install the Plugin

Step 2: Add the Plugin Element to Your Page

Step 3: Create a Standard Standard Searchbox + Plugin

Step 4: Create a Custom Searchbox


Plugin Element Properties

Search & Autocorrect

Image without caption
Fields:
Title
Description
Type
Data Type
App data type
App Type
Data Source
Data source
Item reperesenting Data Type
Field To Search 1
Specify the field in your dataset (e.g., "Title" or "Name") that the plugin will search through for matches.
Filed of Data Type, represent Text, image or file
Field To Search 2
Specify the second field in your dataset (e.g., "Title" or "Name") that the plugin will search through for matches.
Filed of Data Type, represent Text, image or file (optional)
Field To Search 3
Specify the third field in your dataset (e.g., "Title" or "Name") that the plugin will search through for matches.
Filed of Data Type, represent Text, image or file (optional)
Field To Search 4
Specify the fourth field in your dataset (e.g., "Title" or "Name") that the plugin will search through for matches.
Filed of Data Type, represent Text, image or file (optional)
Field To Search 5
Specify the fifth field in your dataset (e.g., "Title" or "Name") that the plugin will search through for matches.
Filed of Data Type, represent Text, image or file (optional)
Text To Match
String to match to dictionary
Text (optional)
OR Set Text to Match from an Input Box
Check for fast updates from an Input Box value. Input Box should have ID Attribute set to “SearchInput”. See documentation for more info.
Checkbox (yes/no)
Input Box ID
The unique identifier for the input field (e.g., search box) that the plugin will use to capture and process user queries. Ensure this matches the ID of your input element.
Text
___ Options ___
Threshold
At what point does the match 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
A threshold of 0.0 requires a perfect match (of both letters and location), a threshold of 1.0 would match anything.
Case Sensitive
Case sensitivity
Checkbox (yes/no)
___ Advanced Options ___
Tokenize
When true, the algorithm will search individual words and the full string, computing the final score as a function of both. In this case, the threshold, distance, and location are inconsequential for individual tokens, and are thus ignored.
Checkbox (yes/no)
Match All Tokens
When true, the result set will only include records that match all tokens. Will only work if tokenize is also true.
Checkbox (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.
Checkbox (yes/no)
Location
Determines approximately where in 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 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
Max Pattern Length
The maximum length of the pattern. The longer the pattern (i.e. the search query), the more intensive the search operation will be. Whenever the pattern exceeds the maxPatternLength, an error will be thrown. Don’t set it too high, for performance purposes.
Number
Exclude Terms Shorter Than
Excludes search terms shorter than a specified character length (e.g., 3 characters) to improve accuracy and reduce irrelevant results.
Number
Ignore Accents / Diacritics
Ignores accents and diacritics (e.g., é, ü) in search queries and data, ensuring matches like "cafe" and "café."
Checkbox (yes/no)

Element Actions

  1. Reset input - Reset inputs
Title
Description
Type
Reset input a Search & Autocorrect
Note: Input box ID must be set in plugin properties for this to work, even if you’re not using “Set Text to Match from an Input Box” feature.
Image without caption

Exposed states

Title
Description
Type
Matches
Things matched
Undefined
Match Scores
Match scores from 0 to 1, 0 is perfect match.
Number
Input Box’s Value
Value of input box from ID
Text
Image without caption
👛 Support Our Work
Please support our efforts to keep this plugin free—your donations help us invest the time and resources needed to continue maintaining and improving it for everyone’s benefit: https://zeroqo.de/support.

Changelogs