fuzzyMatch function

bool fuzzyMatch(
  1. String text,
  2. String query
)

Check if a text contains a query using fuzzy Arabic matching.

Both text and query are normalized before comparison, making the search diacritic-insensitive and more forgiving.

Example:

fuzzyMatch('أبو هُرَيْرَة', 'ابو هريره'); // Returns: true
fuzzyMatch('محمد بن عبدالله', 'محمد'); // Returns: true
fuzzyMatch('علي بن أبي طالب', 'عثمان'); // Returns: false

Implementation

bool fuzzyMatch(String text, String query) {
  final normalizedText = normalizeArabicSearch(text.toLowerCase());
  final normalizedQuery = normalizeArabicSearch(query.toLowerCase());
  return normalizedText.contains(normalizedQuery);
}