ZQ Fuzzy Search & Autocomplete

Introduction

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. Currently, Fuzzy Search is not supporting Airtable as a data source.
Supported languages:
  • English (Latin Extended Additional)
  • Russian (Cyrillic)
  • Japanese
  • Chinese
  • Armenian
  • Arabic
  • Georgian
  • Greek
  • Hebrew

How to setup

1) Place element on the page
Image without caption
Image without caption
Set Data Type, Data Source and at least one Field To Search.
2) Place input on the page and set it to Attribute ID
Image without caption
Select the checkbox to match from the input box and paste your input ID in the Input Box ID field
Image without caption
3) Place the Repeating Group and set the data source of the info it's being search for.
Image without caption
Image without caption
The Data source MUST NOT be a list.
Image without caption

Plugin element "Search & Autocorrect"

Image without caption
Image without caption

Fields

  • Data Type - Data - The type of data that will be searched for.
  • Data Source - List of Data Type - Data Type list by which the search will be carried out.
  • Field To Search 1 - Field of Data Type - Where to find the data field.
  • Field To Search 2 - Field of Data Type - Where to find data field (optional).
  • Field To Search 3 - Field of Data Type - Where to find data field (optional).
  • Field To Search 4 - Field of Data Type - Where to find data field (optional).
  • Field To Search 5 - Field of Data Type - Where to find data field (optional).
  • Text To Match - Text - The string by which the search will be carried out.
  • OR Set Text to Match from an Input Box - "yes"/"no" - Use input value as the search string.
  • Input Box ID - Text - Input ID.
  • Threshold - Number - 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.
  • Case Sensitive - "yes"/"no" - Case Sensitive search.
  • Find All Matches - "yes"/"no" - 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.
  • Location - Number - Determines approximately wherein the text is the pattern expected to be found.
  • Distance - Number - 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.
  • Exclude Terms Shorter Than - Number - Exclude all search words shorter than this value.

Exposed states

  • Matches - List of Data Type - List of matched things
  • Match Scores - List of numbers - Match scores from 0 to 1. 0 is a perfect match
  • Input Box's Value - Text - Value of input box from ID

Actions

Reset input

Resets the input value with the Input Box ID entered in the element and resets all states.

Changelogs

Update: 05/04/2022 - Version: 1.11.0.
  • Added codes for determining all variations of the Chinese language
Update: 15/01/2024 - Version: 1.26.0.
  • Optimized the use WU

Demo to preview the settings