Lola Text Match
AI-generatedOverview
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.
- Using "Fuzzy Name Match" with a target array will throw an error:
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.
- If required fields for the selected operation are missing, the node may fail or produce incorrect results.
Unexpected Output Structure:
- If the output does not contain expected fields, check that the correct operation and input types are used.