logo

ZQ Fuzzy Search & Autocomplete

Introduction

This plugin is a slightly improved version of the other 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.
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 Attribute ID
Image without caption
Select 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
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.
  • Tokenize - "yes"/"no" - 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.
  • Match All Tokens - "yes"/"no" - When true, the result set will only include records that match all tokens. Will only work if tokenize is also true.
  • 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.
  • Max Pattern Length - Number - 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.
  • 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

Demo to preview the settings