A lightweight fuzzy-search library for Swift with zero dependencies.
Fuse is a lightweight fuzzy-search library for Swift that enables approximate string matching in applications. It helps developers implement search functionality that can handle typos, misspellings, and partial queries by finding close matches rather than requiring exact text. The library uses the Bitap algorithm to efficiently score and return results based on similarity.
iOS and macOS developers building apps with search features, such as content browsers, contact lists, or media libraries, where users may not type exact queries.
Developers choose Fuse for its simplicity, zero dependencies, and efficient fuzzy search implementation, making it easy to add robust search capabilities without heavy integration overhead.
A lightweight fuzzy-search library, with zero dependencies
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Entirely self-contained with no external libraries, ensuring easy integration and minimal footprint in iOS or macOS apps, as highlighted in the GitHub description.
Offers configurable parameters such as threshold, distance, and case sensitivity, allowing fine-tuned control over match accuracy, detailed in the README options.
Supports searching across custom objects via the Fuseable protocol with weighted properties, enabling prioritized matches in complex data models, as shown in Example 3.
Allows pre-creating search patterns to reuse across multiple searches, improving efficiency, demonstrated in Example 2 of the README.
Default max pattern length of 32 characters restricts longer search queries, explicitly mentioned in the options, which can be a bottleneck for complex searches.
Lacks built-in support for common enhancements like stemming, stop-word removal, or phonetic matching, limiting use in sophisticated applications.
Does not include indexing mechanisms, so performance may degrade with large datasets, requiring manual caching or optimization efforts.