Lola Text Match icon

Lola Text Match

Lola Text Match

Lola Text Match

AI-generated

Overview

The Lola Text Match node is designed to compare input text or person names against a target string or list, using various matching strategies. It supports strict (case-sensitive and insensitive), fuzzy, and specialized name-matching algorithms. This node is useful for scenarios such as:

  • Deduplicating or validating user-entered names against a database.
  • Matching free-form text inputs to a controlled vocabulary or list.
  • Performing fuzzy searches in lists for near matches.
  • Ensuring data consistency by comparing entries with different levels of strictness.

Practical examples:

  • Checking if a user's full name closely matches any entry in a customer database.
  • Finding the best match for a product name from a list, even if there are typos.
  • Validating that an input string exactly matches (or nearly matches) a value in a reference list.

Properties

Name Meaning
Operation Selects the type of matching to perform:
- Fuzzy Best Match
- Fuzzy Name Match
- Fuzzy Treshold Match
- Strict Match - Non Sensitive
- Strict Match - Sensitive
First Name First name to match with (used only in "Fuzzy Name Match" operation).
Middle Name Middle name to match with (used only in "Fuzzy Name Match" operation).
Last Name Last name to match with (used only in "Fuzzy Name Match" operation).
Second Last Name Second last name to match with (used only in "Fuzzy Name Match" operation).
Input Text The text to match with the target string or list (used in all operations except "Fuzzy Name Match").
Normalize White Spaces Whether to normalize white spaces in input text and target string (only for "Fuzzy Name Match").
Remove Special Characters Whether to remove special characters in input text and target string (only for "Fuzzy Name Match").
Ignore Case Whether to ignore case in input text and target string (only for "Fuzzy Name Match").
Last Name Min Treshold Minimum threshold for last name match to enforce stricter matching (only for "Fuzzy Name Match").
Trim Input Whether to trim input text before matching.
Target Array Whether to use a target array (list) instead of a single string for matching.
Target String The target string to match with input text (used when "Target Array" is false).
Target Object Array The target list (array) to match with input text (used when "Target Array" is true).
Specify List Item Property Whether to specify a property of each list item to match with input text (used when "Target Array" is true).
Item Property Name Name of the property of the list item to match with input text (used when both "Target Array" and "Specify List Item Property" are true).
Fuzzy Treshold Threshold value for fuzzy matching (used in "Fuzzy Treshold Match" and "Fuzzy Name Match" operations).

Output

The node outputs two branches: one for matches ("match") and one for misses ("miss"). Each output item contains a lola_text_match field in its json object with the following structure:

{
  "isMatched": true,             // Boolean indicating if a match was found
  "matchedItem": {},             // The matched item from the list (if applicable)
  "bestFuzzyMatch": {},          // Details about the best fuzzy match (if applicable)
  "fuzzyMatchs": [],             // Array of fuzzy match results (if applicable)
  "score": 0.95,                 // Numeric score of the match (if applicable)
  "matchNameResults": {}         // Detailed results for name matching (if applicable)
}
  • If binary data is involved, it is not handled by this node; output is always JSON-based.

Dependencies

  • External Libraries:
    • fast-fuzzy: Used for general fuzzy matching.
    • person-name-match: Used for advanced person name matching.
  • n8n Configuration:
    • No special API keys or environment variables required.

Troubleshooting

Common Issues:

  • Operation Not Supported:

    • Using "Fuzzy Name Match" with a target array will throw an error:
      "Fuzzy names match is not supported for array input"
      • Resolution: Use "Fuzzy Name Match" only with a single target string.
  • Missing Required Fields:

    • If required fields for the selected operation are missing, the node may fail or produce incorrect results.
      • Resolution: Ensure all required properties for the chosen operation are provided.
  • Unexpected Output Structure:

    • If the output does not contain expected fields, check that the correct operation and input types are used.

Links and References

Discussion