multi_language_search_engine library
Multi-Language Search Engine Flutter Plugin
A powerful Flutter plugin for implementing multi-language search functionality with support for Arabic and English text, fuzzy matching, and typo tolerance.
Features
- Multi-language support (Arabic, English)
- Fuzzy search with typo tolerance
- Configurable similarity thresholds
- Fast inverted index-based searching
- Extensible architecture with interfaces
Basic Usage
import 'package:multi_language_search_engine/multi_language_search_engine.dart';
void main() {
// Sample data
final data = [
{'id': 1, 'name': 'John Doe', 'description': 'Software Engineer'},
{'id': 2, 'name': 'Jane Smith', 'description': 'Product Manager'},
];
// Create search engine
final searchEngine = createSearchEngine(
data: data,
languageCode: 'en',
);
// Search
final results = searchEngine.search('software');
print('Found ${results.length} results');
}
Classes
- ArabicTextNormalizer
- Arabic text normalizer implementation
- ArabicTextTokenizer
- Arabic text tokenizer implementation
- ArabicVariationGenerator
- Arabic variation generator implementation
- DefaultSearchEngineFactory
- Default factory implementation for creating search engine components
- EnglishTextNormalizer
- English text normalizer implementation
- EnglishTextTokenizer
- English text tokenizer implementation
- EnglishVariationGenerator
- English variation generator implementation
- LevenshteinSimilarityCalculator
- Levenshtein distance-based similarity calculator
- MultiLanguageSearchEngine
- Main plugin class for Multi-Language Search Engine
- MultiLanguageSearchEngineImpl
- Implementation of the multi-language search engine
- MultiLanguageSearchEngineWeb
- A web implementation of the MultiLanguageSearchEnginePlatform of the MultiLanguageSearchEngine plugin.
- SearchEngine
- Core search engine interface
- SearchEngineFactory
- Factory interface for creating language-specific components
- SimilarityCalculator
- Interface for similarity calculation between texts
- TextNormalizer
- Interface for text normalization functionality
- TextTokenizer
- Interface for tokenization functionality
- VariationGenerator
- Interface for generating text variations (typos, alternatives)
Functions
-
createSearchEngine(
{required List< Map< data, required String languageCode, SearchEngineFactory? factory}) → SearchEngineString, dynamic> > - Creates a new instance of the multi-language search engine