Link to the plugin page:
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:
- Bubble.io Account: You need an active Bubble.io account to use this plugin.
- Repeating Group: Set up a Repeating Group to display the search results.
- Input Element: Add an Input Element (e.g., a search box) to capture user queries.
- Data Source: Ensure the data source for the Repeating Group is properly configured with the information you want to search through.
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
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
- 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. |
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 |
👛 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.