DynamicSearchDetailedExtension<T> extension
Extension methods for smart search on any List
Provides easy-to-use search functionality with:
- Automatic typo handling
- Field weighting
- Performance optimizations (isolates, caching)
- Debug mode for development
Example:
final products = [Product(...), Product(...), ...];
final results = await products.smartSearchDynamicDetailedExtension<Product>(
query: 'samsung galaxy',
searchFieldsMap: {
'name': ['nameAr', 'nameEn'],
'category': ['category'],
},
fieldWeights: {'name': 3.0, 'category': 0.5},
minScore: 0.4,
limit: 10,
debug: true,
toJson: (p) => p.toJson(),
);
- on
-
- List<
T>
- List<
Methods
-
smartSearchDynamicDetailedExtension(
{required String query, required Map< String, List< searchFieldsMap, required Map<String> >String, dynamic> toJson(T), Map<String, double> fieldWeights = const {}, double minScore = 0.3, int limit = 10, bool useDamerauLevenshtein = true, bool useNGram = true, bool useIsolate = true, bool debug = false}) → Future<List< T> > -
Available on List<
Performs smart search and returns matching items.T> , provided by the DynamicSearchDetailedExtension extension -
smartSearchExtension(
{required String query, required Map< String, List< searchFieldsMap, required Map<String> >String, dynamic> toJson(T), Map<String, double> fieldWeights = const {}, double minScore = 0.3, int limit = 10, bool useDamerauLevenshtein = true, bool useNGram = true, bool useIsolate = true, bool debug = false}) → Future<List< T> > -
Available on List<
Convenience method that returns items directly.T> , provided by the DynamicSearchDetailedExtension extension -
smartSearchWithScores(
{required String query, required Map< String, List< searchFieldsMap, required Map<String> >String, dynamic> toJson(T), Map<String, double> fieldWeights = const {}, double minScore = 0.3, int limit = 10, bool useDamerauLevenshtein = true, bool useNGram = true, bool useIsolate = true, bool debug = false}) → Future<List< SmartSearchResult< >T> > -
Available on List<
Performs search and returns results with scores.T> , provided by the DynamicSearchDetailedExtension extension